Jenkins + Gitee 自动构建项目 [ 技术杂谈 ]
九叶的小窝 文章 正文
九叶
{{nature("2021-05-28 12:41:30")}}更新1.安装Jenkins
1.1 下载rpm包(rpm包网址)
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
1.2 导出密钥
若之前已从Jenkins导入过密钥, "rpm--import" 将失败, 请忽略, 继续执行1.3)
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
1.3 安装Jenkins
yum install -y jenkins
1.4 查看jenkins安装信息
[root@iZj6cca7jric8s3mwfuxz6Z ~]# rpm -ql jenkins /etc/init.d/jenkins /etc/logrotate.d/jenkins /etc/sysconfig/jenkins /usr/lib/jenkins /usr/lib/jenkins/jenkins.war /usr/sbin/rcjenkins /var/cache/jenkins /var/lib/jenkins /var/log/jenkins
1.5 启动jenkins
service jenkins start
1.6 配置jenkins
#打开配置文件
vim /etc/sysconfig/jenkins
#jenkins默认端口8080,若被占用或想更换端口,修改JENKINS_PORT的值
JENKINS_PORT="端口号"
# 将执行用户改成root,不然后面可能出现执行shell没有权限
vim /etc/sysconfig/jenkins # 编辑文件
JENKINS_USER="root" # 改成root
# 修改jenkins文件夹的所属
cd /var/lib
chown -R root:root jenkins
# 重启jenkins服务
service jenkins restart
1.7 运行jenkins项目,配置项目
浏览器打开Jenkins项目(如果是云服务器,要在安全组规则中开启该端口)
IP:你设置的端口
解锁Jenkins
将服务器 /var/lib/jenkins/secrets/initialAdminPassword 中管理员密码输入到验证框
若出现该Jenkins实例似乎已离线
解决方法:https://blog.csdn.net/qq_34272964/article/details/93500813
按要求选择经典安装(新手建议选择)或则自定义安装,之后注册管理员帐号
1.8 卸载
rpm -e jenkins #rpm卸载
rpm -ql jenkins #检查是否卸载成功
find / -iname jenkins | xargs -n 1000 rm -rf 彻底删除残留文件
2. Jenkins操作
2.1 汉化
等待重启之后就是汉化后的界面了
2.2 配置插件
2.3 全局工具配置
2.4 系统配置
证书令牌 -> 添加 -> Gitee AIP 令牌 ->获取Gitee Access Token
将复制到的Token粘贴到Jenkins Gitee APIV5 私人令牌中然后添加保存
3. 新增任务
3.1 创建Maven项目
3.2 配置Git仓库
3.3 配置WebHook
3.4 去Gitee上配置webhook
3.5 配置Maven命令
clean install -Dmaven.test.skip=true
3.6 配置编译shell命令
#!/bin/bash
echo "Stopping Application"
pid1=$(ps -ef|grep -i test.jar |grep -v "grep"|awk '{print $2}')
echo "获取pid成功"+$pid1
if [ -n "$pid1" ];
then kill -9 $pid1
echo '解除端口占用'
fi
echo "......delete test.jar...."
rm -rf /opt/workspace/source/ruoyi-admin.jar
cp /var/lib/jenkins/workspace/green-billing-system/ruoyi-admin/target/ruoyi-admin.jar /opt/workspace/source
sleep 3
echo "..........执行.........."
BUILD_ID=dontkillMe
echo "..........进入 /opt/workspace/source 目录......"
cd /opt/workspace/source
echo "..........执行java -jar命令.........."
nohup java -jar ruoyi-admin.jar > green-billing-system.log &
sleep 20
#这边sleep只是为了让程序有充足时间打印日志,来判断程序是否启动成功
#最后面的"&"代表将该项目放入后台运行,否则jekins会一直卡在tomcat启动窗口而不往下继续
echo "......执行完成......"
echo "..........执行java -jar命令.........."
nohup java -jar test.jar --spring.profiles.active=dev --server.port=8083 > 8083.log &
sleep 20
#这边sleep只是为了让程序有充足时间打印日志,来判断程序是否启动成功
#最后面的"&"代表将该项目放入后台运行,否则jekins会一直卡在tomcat启动窗口而不往下继续
echo "......执行完成......"
#!/bin/bash
jarName=ruoyi-modules-recovery.jar
jobName=/resource_recovery/r-recovery
modelPath=/ruoyi-modules/r-recovery
echo "关闭进程"
pid1=$(ps -ef|grep -i $jarName |grep -v "grep"|awk '{print $2}')
echo "获取pid成功"+$pid1
if [ -n "$pid1" ];
then kill -9 $pid1
echo '解除占用'
fi
echo "删除jar包"
rm -rf /recovery/$jarName
cp /var/lib/jenkins/workspace$jobName$modelPath/target/$jarName /recovery/
sleep 3
echo "执行"
BUILD_ID=DONTKILLME
nohup java -Xms64m -Xmx512m -jar /recovery/$jarName >/dev/null 2>&1 &
sleep 3
echo "执行完成"
4. 测试
到Gitee项目管理中点击webhook中的测试
{{nature('2021-12-07 15:29:00')}} {{format('2986')}}人已阅读
{{nature('2021-01-31 20:01:00')}} {{format('1309')}}人已阅读
{{nature('2020-12-11 21:17:00')}} {{format('1229')}}人已阅读
{{nature('2021-04-22 15:16:00')}} {{format('1185')}}人已阅读
目录
标签云
一言
评论 0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}