1.首先安装Jenkins
导入源&&yum安装
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
安装完成后Jenkins启动之前的注意事项,方便后面操作以及少采坑:
默认情况是Jenkins是使用Jenkins用户启动的,但这个用户目前系统并没有赋予权限,会导致后面项目构建时没有权限创建文件夹,这里我们将启动用户修改为root;另外Jenkins默认端口是8080,这个跟tomcat的默认端口冲突,我们也修改一下默认端口。
vi /etc/sysconfig/jenkins
找到 JENKINS_USER 和JENKINS_PORT ,修改为root和你需要的端口
JENKINS_USER="root"
JENKINS_PORT="8089"
修改完成后就可以启动Jenkins了。
service jenkins start
service jenkins stop
service jenkins restart
启动完成后排查防火墙是否为Jenkins设置的端口开放。
如果启动和重启命令无法使用报错:
Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
查看当前Java的环境变量
echo $JAVA_HOME
复制Java的环境变量地址, 编辑/etc/init.d/jenkins文件, 添加
$JAVA_HOME/bin/java
然后再浏览器中输入ip+端口号就可以访问了,比如:http:192.168.31.101:8089,则会看到这样:
默认账户admin 的密码在
/var/lib/jenkins/secrets/initialAdminPassword
由于jenkins的镜像服务在国外,会导致初始化jenkins时卡住,需要修改
/var/lib/jenkins/hudson.model.UpdateCenter.xml
此文件中的url中的链接为:
http://mirror.xmission.com/jenkins/updates/update-center.json
插件很可能全部下载失败,别慌,可以进入系统后在系统管理-插件管理-高级的升级站点中修改为一下链接后,在系统管理-插件管理-可选插件中搜索安装。
http://mirror.esuni.jp/jenkins/updates/update-center.json
第二部分:Jenkins集成springboot
进入Jenkins后,添加任务
选取maven项目,如果没有maven项目的选项的话,说明没有安装Maven插件,可以去插件管理中去下载,在集成这部分前,服务器上要安装好svn , maven,以及jdk,然后在Jenkins中的 系统管理-全局工具配置 中配置jdk以及maven的路径
接下来进入项目的配置。
shell 脚本
#!/bin/bash
#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=dontKillMe
#指定最后编译好的jar存放的位置
www_path=/var/demo/
#Jenkins中编译好的jar位置
jar_path=/var/lib/jenkins/workspace/demo/target
#Jenkins中编译好的jar名称
jar_name=demo-0.0.1-SNAPSHOT.jar
#获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程
pid=$(cat /var/demo/demo.pid)
#进入指定的编译好的jar的位置
cd ${jar_path}
#将编译好的jar复制到最后指定的位置
cp ${jar_path}/${jar_name} ${www_path}
#进入最后指定存放jar的位置
cd ${www_path}
#杀掉以前可能启动的项目进程
kill -9 ${pid}
#删除日志文件
find ./ -name 'demo.txt' | xargs rm -rf
#启动jar,指定SpringBoot的profiles为test,后台启动
java -jar -Dspring.profiles.active=test ${jar_name} >demo.txt &
#将进程ID存入到shaw-web.pid文件中
echo $! > /var/demo/demo.pid
到这里,配置已经完成了。在项目右边点击按钮进行项目构建。
点击正在构建的项目,然后控制台输出,就可以看到构建日志了。
在 系统管理-日志管理-日志级别中添加 javax.jmdns 级别为 off,防止jenkins日志过大,不过重启Jenkins就会失效。