ubuntu安装Jenkins

操作系统信息

ubuntu

阿里云相关配置

1. 左侧菜单栏选择 安全组
2. 右侧 ——> 操作 ——> 管理规则
3. 开放8080端口

安装

  • 配置Java环境
sudo apt update
sudo apt install openjdk-11-jdk

想要运行Jenkins 必须为Java11 Java8无法运行

  • 安装Jenkins
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9B7D32F2D50582E6
sudo apt update
sudo apt install jenkins

设置

  • 进入可视化页面
http://<ip>:8080
  • 当需要输入管理员密码时
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

可以不创建用户选择admin账户进行下一步

创建流水线

  • 新建
    image
  • 设置名称
    image
  • 配置github地址
    image
  • 触发设置(这里选择手动触发,所以这些可以不勾选)
    image
  • 脚本设置
    image
pipeline {
    agent any

    stages {
        stage('拉取代码') {
            steps {
                echo '正在拉取代码'
            }
        }
        stage('打包项目') {
            steps {
                echo '正在打包项目'
            }
        }
        stage('上传服务器') {
            steps {
                echo '正在上传服务器'
            }
        }
    }
}

image
保存后点击立即构建可以看到日志
steps 可以看成脚本的执行步骤
image
可以看到每个步骤执行,也就是打印的日志

拉取代码

  • 回到配置 点击 流水线语法
    image
  • 选择GIT
    image
  • 输入克隆地址
    image

报错原因

2021.8.13起,Github要求使用基于令牌的身份验证 所以账号密码不行了

  • 获取token
    image
    image
    image

  • 生成后记得保存
    image
    用户名随意 密码就是刚才生成的token
    image
    生成脚本
    image
    生成可用脚本有两种方法
    第一种是将token做为连接凭证,脚本拉取代码时携带凭证

git credentialsId: 'git-hub-token', url: 'https://github.com/you/GitAddress.git'

第二种是git拉取时直接携带access token

git https://<access token>@github.com/you/GitAddress.git

但是无论哪种方法都需要你的token权限需要支持你的操作

打包项目

Maven配置

服务器安装maven

sudo apt update
sudo apt install maven

安装后查看信息

mvn -version

一定要配置阿里云镜像否则下载会非常慢

cd /usr/share/maven/conf
vim settings.xml 
<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
</mirror>

image

image
image

  • 找到打好的Jar包
    image

上传服务器

找到Jar包并上传服务器启动

cd /var/lib/jenkins/workspace/test4sql/target/

image
已经可以看到打好的Jar包了

最终脚本

pipeline {
    agent any

    stages {
        stage('拉取代码') {
            steps {
                git credentialsId: 'git-hub-token', url: 'https://github.com/yourName/mysql4test.git'
            }
        }
        stage('打包项目') {
            steps {
               sh 'mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip'
            }
        }
        stage('上传服务器') {
            steps {
               sh '''cd /home/api
               bash myhub.sh
               '''
            }
        }
    }
}
  • myhub.sh
#!/bin/bash
cd /var/lib/jenkins/workspace/test4sql/target
mv -f mysql4test.jar /home/api
cd /home/api
PID=$(ps -ef | grep mysql4test.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo '应用程序已经停止'
else
    echo 正在停止服务,pid: $PID
    sudo kill $PID
    echo '应用程序已停止'
fi

echo '正在启动jar包...'
nohup java -jar mysql4test.jar --spring.profiles.active=test >/dev/null 2>&1 &
echo '应用程序启动完毕...'

建议

服务器最好配置高一点
打包下载依赖时CPU飙到97% 直接卡死
image

posted @ 2024-04-10 12:58  异世界阿伟  阅读(510)  评论(0编辑  收藏  举报