jenkins

2023-04-14

yum install fontconfig java-1.8.0-openjdk


rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

wget https://mirrors.jenkins.io/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm


rpm -i jenkins-2.346.3-1.1.noarch.rpm

systemctl enable jenkins

systemctl start jenkins


浏览器打开页面,默认端口8080,可通过/etc/sysconfig/jenkins修改端口号


首次登录输入管理密码

cat /var/lib/jenkins/secrets/initialAdminPassword


安装推荐的插件


返回服务器可同步安装git maven



安装Maven Integration插件

新建item

构建一个maven项目


源码管理选择git

复制git地址,下面可添加凭据,就是git的账号密码

选择*/master分支


下面有构建触发器选项,也可以安装gitee或者其他git管理插件,使用webhooks,这样每次push代码的时候服务器自动会部署。


构建可以选执行shell,如果是java项目也可以安装maven插件


复制过shell命令,下面有高级按钮,设置构建不稳定时退出码,填写1



保存后点击立即构建,点下面执行任务,可以查看控制台输出日志



配置执行脚本

BUILD_ID=DONTKILLME

# 获取正在运行的ecs-application程序pid

pid=$(ps -aux | grep test-jenkins | grep -v grep | gawk '{print $2}')

if [ ${#pid} != 0 ]

  then kill -9 $pid

fi


cd /var/lib/jenkins/workspace/test_jenkins

mvn clean package -U


nohup java -jar /var/lib/jenkins/workspace/test_jenkins/target/test-jenkins-1.0.0-SNAPSHOT.jar > log.out &


pid=$(ps -aux|grep test-jenkins | grep -v grep| gawk '{print $2}')

# 获取正在运行的ecs-application的pid并判断其字符串长度,0为不存在(即构建失败)

if [ ${#pid} == 0 ]

  then

   echo "***** BUILD FAILED ******"

   exit 1

   else

   echo "***** BUILD SUCCESS *****"

fi


需要注意的是Jenkins执行脚本中若不添加BUILD_ID=DONTKILLME的话则会在执行完脚本后会把脚本中的程序关闭。jenkins创建的所有项目都可以在

/var/lib/jenkins/workspace中找到。为了避免程序运行失败结果却显示成功,当执行程序后pid不存在则exit 1,且需设置build unstable符号值,如下图: