title: Ubuntu-Jenkins-搭建全教程
date: 2018-07-01 16:01:33
categories:

  • Linux
  • Linux
    tags: [linux,linux]

一 安装Jenkins

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

1 需要先安装jdk环境

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

2 配置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-get update
sudo apt-get install jenkins

3 jenkins 启动

service jenkins start|stop|restart
systemctl restart jenkins

浏览器打开 http://x.x.x.x:8080

#获取登录密码
cat /var/lib/jenkins/secrets/initialAdminPassword

选择 安装推荐的插件,耐心等待

二 配置jenkins

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

  2. 访问路径前缀

    #修改/etc/sysconfig/jenkins,在JENKINS_ARGS参数中添加
    --prefix=/jenkins
    


docker配置

1 进入容器内部
2 查看启动命令,找到启动脚本 ps -ef|grep jenkins
3 修改启动脚本,最后增加 --prefix=/jenkins
  1. 修改admin密码
    用户列表--->选中admin--->设置--->输入新密码--->保存
    
  1. 增加root权限
    将root添加到jenkins用户组中,让root用户拥有管理jenkins的权限
    sudo gpasswd -a root jenkins
    


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

JENKINS_USER=root
JENKINS_GROUP=root


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

sudo chown -R root:root /var/lib/jenkins
  1. 配置jenkins全局jdk, maven环境
    #一般默认jdk路径
    /usr/lib/jvm/java-8-openjdk-amd64
    
  1. 安装常用插件项目插件

    • Maven Integration
    • go
    • nodejs
    • role

三 Jenkins 自动部署

  1. jenkins新建maven项目
    Ubuntu-Jenkins-搭建全教程 - 图1
  2. 配置git代码地址
    Ubuntu-Jenkins-搭建全教程 - 图2
  3. 打包命令
    Ubuntu-Jenkins-搭建全教程 - 图3
  4. 自动部署脚本
    Ubuntu-Jenkins-搭建全教程 - 图4
# 将应用停止
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 &

后台启动通用版,直接配置即可

#服务器名称(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 &

参数说明:

####
-z    检测字符串长度是否为0,为0返回 true。    [ -z $a ] 返回 false。
-n    检测字符串长度是否不为 0,不为 0 返回 true。    [ -n "$a" ] 返回 true。

#如果 expression 返回 true,then 后边的语句将会被执行;如果返回 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 开始构建并查看构建日志
Ubuntu-Jenkins-搭建全教程 - 图5

四 卸载jenkins

//服务
sudo apt-get remove jenkins
//安装包
sudo apt-get remove --auto-remove jenkins
//配置和数据
sudo apt-get purge jenkins
sudo apt-get purge --auto-remove jenkins