0%

Ubuntu-Jenkins-搭建全教程

一 安装Jenkins

1 需要先安装jdk环境

1
2
//jenkins 对jdk版本有要求,具体看官网
# sudo apt install openjdk-8-jdk-headless

2 配置jenkins

1
2
3
4
5
//安装命令
# 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-get update
# sudo apt-get install jenkins

3 jenkins 相关命令

1
2
3
//
# sudo service jenkins start|stop|restart
# sudo /etc/init.d/jenkins restart

官方安装教程:https://jenkins.io/zh/doc/book/installing/#debianubuntu

二 配置jenkins

  1. 获取登录密码
    浏览器打开 http://192.168.x.x:8080

    1
    2
    // ubuntu 执行,获取登录密码
    # cat /var/lib/jenkins/secrets/initialAdminPassword
  2. 选择 安装推荐的插件,耐心等待

  3. 修改admin密码.

    1
    用户列表--->选中admin--->设置--->输入新密码--->保存

    若界面是英文,把jenkins服务重启下就好了

  4. 增加root权限
    将root添加到jenkins用户组中,让root用户拥有管理jenkins的权限

    1
    # sudo gpasswd -a root jenkins

    让jenkins用root身份运行,配置文件在/etc/default/jenkins

    1
    2
    JENKINS_USER=root
    JENKINS_GROUP=root

    jenkins的工作目录在/var/lib/jenkins,把jenkins的默认运行用户改成了root

    1
    sudo chown -R root:root /var/lib/jenkins
  5. 配置jenkins全局jdk, maven环境
    image.png

    1
    2
    //一般默认jdk路径
    /usr/lib/jvm/java-8-openjdk-amd64

    image.png

  6. 安装maven项目插件(Maven Integration)
    image.png

三 Jenkins 自动部署

  1. jenkins新建maven项目
    image.png
  2. 配置git代码地址
    image.png
  3. 打包命令
    image.png
  4. 自动部署脚本
    image.png
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 将应用停止
    echo "Stopping SpringBoot Application"
    pid=`ps -ef | grep test.jar | grep -v grep | awk '{print $2}'`
    if [ -n "$pid" ]
    then
    kill -9 $pid
    else
    echo Application is already stopped
    fi
    mv -f /var/lib/jenkins/workspace/test/target/jenkins-test-1.0-SNAPSHOT.jar /usr/local/spring/test.jar
    chmod 777 /usr/local/spring/test.jar
    echo "执行....."
    nohup java -jar /usr/local/spring/test.jar &
    后台启动通用版,直接配置即可
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #服务器名称(pom文件定义)
    SERVER_NAME=jenkins-test
    # 生成的jar包名称
    JAR_NAME=jenkins-test-1.0-SNAPSHOT.jar
    # 生成的jar包路径
    JAR_PATH=/var/lib/jenkins/workspace/test/target
    # 运行jar的工作路径,统一管理,并需要提前创建好
    JAR_WORK_PATH=/usr/local/spring

    # 将应用停止
    echo "Stopping SpringBoot Application"
    pid=`ps -ef | grep "$SERVER_NAME" | grep -v grep | awk '{print $2}'`
    if [ -n "$pid" ]
    then
    kill -9 $pid
    fi

    mv -f $JAR_PATH/$JAR_NAME $JAR_WORK_PATH
    chmod 777 $JAR_WORK_PATH/$JAR_NAME
    echo "执行....."
    BUILD_ID=dontKillMe nohup java -jar $JAR_WORK_PATH/$JAR_NAME &
    参数说明:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
####
-z 检测字符串长度是否为0,为0返回 true。 [ -z $a ] 返回 false。
-n 检测字符串长度是否不为 0,不为 0 返回 true。 [ -n "$a" ] 返回 true。

#如果 expression 返回 truethen 后边的语句将会被执行;如果返回 false,不会执行任何语句
if [ expression ]
then
Statement(s) to be executed if expression is true
fi

#如果 expression 返回 true,那么 then 后边的语句将会被执行;否则,执行 else 后边的语句
if [ expression ]
then
Statement(s) to be executed if expression is true
else
Statement(s) to be executed if expression is not true
fi

5 开始构建并查看构建日志
image.png

四 卸载jenkins

1
2
3
4
5
6
7
//服务
sudo apt-get remove jenkins
//安装包
sudo apt-get remove --auto-remove jenkins
//配置和数据
sudo apt-get purge jenkins
sudo apt-get purge --auto-remove jenkins