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符号值,如下图: