GitLab1.4.5之Jenkins2.319.1(CI/CD)

Jenkins插件安装

Git ( 使用Git访问远程仓库 )
GitLab ( 用于推送构建结果给 GitLab )
Publish Over SSH ( 使用 SSH 的方式远程连接服务器,并进行文件的传输和命令执行 )

GitLab创建访问令牌(Jenkins创建凭证时用到)

在这里插入图片描述
创建好了请保存到本地,下次访问时将不再显示:9Km5X3sS4-xN7hjtd_or
在这里插入图片描述

Jenkins创建凭证

在这里插入图片描述
在这里插入图片描述

Jenkins连接GitLab

在这里插入图片描述

Jenkins配置SSH服务器(运行Java服务)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Jenkins创建任务

在这里插入图片描述

  • General
    在这里插入图片描述
  • 源码管理
    在这里插入图片描述
  • 构建触发器
    在这里插入图片描述
    在这里插入图片描述
  • 构建环境
    在这里插入图片描述
  • 构建
    在这里插入图片描述
    在这里插入图片描述
# windows下新建 run.sh 启动脚本
# 在执行shell脚本的时候会出现‘$’\r’: 未找到命令’错误。绝大多数情况下是因为在window系统中写的shell脚本然后上传到服务器执行造成的
# yum install dos2unix
# dos2unix run.sh
# sh run.sh
#
#!/bin/sh
#
# 全局变量
serverRootPath="/usr/local/server"
serverBackRootPath="/usr/local/server/back"
serverName="JavaForGitRunner"
demo1TargetPath="$serverRootPath/$serverName/Demo1/target"
demo1ResultName=""
demo2TargetPath="$serverRootPath/$serverName/Demo2/target"
demo2ResultName=""
#
echo "重新编译Class文件"
cd $serverRootPath/$serverName && mvn clean package
echo ""
# 
echo "获取Demo1服务的jar名称并备份"
for file in `ls -a $demo1TargetPath`
do
	if [ "${file##*.}"x = "jar"x ] || [ "${file##*.}"x = "war"x ];then
        #echo $file
		demo1ResultName=$file
		# 备份Demo1服务的jar
		cp -rf $serverRootPath/$serverName/Demo1/target/$demo1ResultName $serverBackRootPath
		echo "Demo1服务的jar备份成功"
		echo ""
		break
    fi  
done   
#
echo "获取Demo2服务的jar名称并备份"
for file in `ls -a $demo2TargetPath`
do
	if [ "${file##*.}"x = "jar"x ] || [ "${file##*.}"x = "war"x ];then
        #echo $file
		demo2ResultName=$file
		# 备份Demo2服务的jar
		cp -rf $serverRootPath/$serverName/Demo2/target/$demo2ResultName $serverBackRootPath
		echo "Demo2服务的jar备份成功"
		echo ""
		break
    fi  
done   
# 
ps -aux | grep Demo1 | grep -v grep | awk '{print $2}' | while read pid; do kill -9 $pid; done
echo "Demo1进程已关闭"
rm -rf $serverRootPath/Demo1.jar
echo "Demo1.jar已删除"
echo ""
ps -aux | grep Demo2 | grep -v grep | awk '{print $2}' | while read pid; do kill -9 $pid; done
echo "Demo2进程已关闭"
rm -rf $serverRootPath/Demo2.jar
echo "Demo2.jar已删除"
echo ""
# 
echo "启动Demo1服务...."
cp -rf $serverBackRootPath/$demo1ResultName $serverRootPath/Demo1.jar
nohup java -jar $serverRootPath/Demo1.jar >/dev/null 2>&1 &
echo "启动Demo1服务成功"
echo ""
# 
echo "启动Demo2服务...."
cp -rf $serverBackRootPath/$demo2ResultName $serverRootPath/Demo2.jar
nohup java -jar $serverRootPath/Demo2.jar >/dev/null 2>&1 &
echo "启动Demo2服务成功"
# Exec command执行脚本
# 使环境变量生效
source /etc/profile
echo "构建开始"
cd /usr/local/server && sh run.sh
echo "构建结束"

GitLab配置Webhooks

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大能嘚吧嘚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值