Jenkins 如何设置GitLab的钩子

目标: 在GitLab提交代码之后,Jenkins会自动构建。

1.在GitLab上新建一个项目test

2.在Jenkins上新建一个项目test-jenkins

2.1)点击新建任务

2.2)输入任务名称,选择构建一个maven项目,确定

如果Jenkins上有类似任务,可以直接选择“根据一个已经存在的任务创建”

2.3)填写任务配置

(1)填写描述。

(2)填写GitLab链接

(3)添加有权限的GitLab用户

(4)构建触发器,勾选“GitLab有push的时候自动构建”选项

(5)在4的子目录最下面,点击“高级”

(6)点击Generate,生成Secret token,记住这个token

(7)构建配置,默认填写如下内容:(-P 为pom.xml配置选择,可不选)

clean package -Dmaven.test.skip=true -U -P test -X -e

微服务架构需要填写如下内容:

clean package -U -DskipTests=true -P dev -pl 包名:服务名 -am

(8)Post Steps,选择“只有在构建成功和不稳定的时候执行”选项,增加“执行Shell”模块,编写执行脚本。

执行脚本示例:

echo "post build"

MODULE_NAME="test"
MODULE_FILE_NAME="test"
MAVEN_PROFILE=""

APP_USER=root
DEPLOY_SERVER=192.168.1.190

ssh -t ${APP_USER}@${DEPLOY_SERVER} "\
if [ \
	! -e /home/${APP_USER}/myapp/${MODULE_NAME} \
];\
then \
	mkdir /home/${APP_USER}/myapp/${MODULE_NAME}/\
;fi"

scp ${WORKSPACE}/${MODULE_NAME}/target/${MODULE_FILE_NAME}.jar \
${APP_USER}@${DEPLOY_SERVER}:/home/${APP_USER}/myapp/${MODULE_NAME}/

sleep 1

ssh -t ${APP_USER}@${DEPLOY_SERVER} "\
if [ \
	! -e /home/${APP_USER}/myapp/${MODULE_NAME}/app.sh \
];\
then \
	cp /home/${APP_USER}/myscript/app.sh /home/${APP_USER}/myapp/${MODULE_NAME}/ \
;fi \
&& cd /home/${APP_USER}/myapp/${MODULE_NAME} \
&& sh /home/${APP_USER}/myapp/${MODULE_NAME}/app.sh restart "

(9)点击保存。

3回到GitLab上配置钩子

3.1)选择Settings->Webhooks

3.2)将之间Jenkins上复制的Url和Secret token粘贴上(详见2.3中(4)和(6))

3.3)点击添加钩子

3.4)添加之后可以看到已经添加好的钩子,点击Test可以进行测试

3.5)点击Test,选择Push events,可以模拟Push操作

3.6)可以看到test-Jenkins已经在构建了





整理完毕,完结撒花~

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不愿放下技术的小赵

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

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

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

打赏作者

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

抵扣说明:

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

余额充值