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环境
#jenkins 对jdk版本有要求,具体看官网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
中文
若界面是英文,把jenkins服务重启下就好了访问路径前缀
#修改/etc/sysconfig/jenkins,在JENKINS_ARGS参数中添加 --prefix=/jenkins
docker配置
1 进入容器内部
2 查看启动命令,找到启动脚本 ps -ef|grep jenkins
3 修改启动脚本,最后增加 --prefix=/jenkins
- 修改admin密码
用户列表--->选中admin--->设置--->输入新密码--->保存
- 增加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
- 配置jenkins全局jdk, maven环境
#一般默认jdk路径 /usr/lib/jvm/java-8-openjdk-amd64
安装常用插件项目插件
- Maven Integration
- go
- nodejs
- role
三 Jenkins 自动部署
- jenkins新建maven项目

- 配置git代码地址

- 打包命令

- 自动部署脚本

# 将应用停止
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 开始构建并查看构建日志

四 卸载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
