A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 我是楠楠 于 2020-4-30 10:54 编辑

【郑州校区】SpringBoot+GitLab+Docker+Jenkins实现持续集成 四

6.3. 创建Jenkins任务6.3.1. 输入任务名称,选择【构建一个自由风格的软件项目】

6.3.2. 设置GitLab中项目的地址

6.3.3. 添加构建脚本


脚本内容:
[AppleScript] 纯文本查看 复制代码
#!/bin/bash
result=$(docker ps | grep "192.168.25.130:5000/springboot_jenkins01")
if [[ "$result" != "" ]]
then
echo "stop springboot_jenkins01"
docker stop springboot_jenkins01
fi
result1=$(docker ps -a | grep "192.168.25.130:5000/springboot_jenkins01")
if [[ "$result1" != "" ]]
then
echo "rm springboot_jenkins01"
docker rm springboot_jenkins01
fi
result2=$(docker images | grep "192.168.25.130:5000/springboot_jenkins01")
if [[ "$result2" != "" ]]
then
echo "192.168.25.130:5000/springboot_jenkins01:1.0-SNAPSHOT"
docker rmi 192.168.25.130:5000/springboot_jenkins01:1.0-SNAPSHOT
fi


6.3.4. 添加顶层Maven目标


[AppleScript] 纯文本查看 复制代码
clean package -f pom_docker_registry.xml  -DskipTests docker:build

6.3.5. 添加Shell执行脚本


脚本内容
[AppleScript] 纯文本查看 复制代码
docker run --name springboot_jenkins01 -p 50101:50101 -idt 192.168.25.130:5000/springboot_jenkins01:1.0-SNAPSHOT 
docker logs -f springboot_jenkins01

6.4. 执行任务
点击项目的左侧菜单中的【立即构建】,可以观察到下面的日志内容,日志太长,我分段给大家截取:
  • 从gitlab中拉取源码


2.停止并删除之前运行的容器

3.通过Maven构建Docker镜像

4.创建并运行Docker容器

此时在浏览器中访问http://192.168.25.130:28080/quick,可以看到以下页面,这也正是我们最初在本机运行时看到的内容

6.5. 配置钩子
​        到此为止,我们已经实现了运行Jenkins任务,自动执行GitLab的代码,但是我们还无法实现当GitLab中的代码发生变化时,Jenkins自动构建任务的功能。接下来,我们配置下WebHook,来实现该功能。
6.5.1. 安装GitLab插件


6.5.2. 安装GitLab WebHook插件


6.5.3. Jenkins中配置Build Triggers
打开我们在Jenkins的任务进行设置,勾选Build Triggers,选择下面标红的复选框,并且复制其中的超链接。
6.5.4. GitLab配置webhook
打开GitLab中我们的项目,点击设置中的Integrations,在URL中填入我们刚刚在Jenkins中粘贴的超链接。
6.5.5. 测试webhook
添加完webHook之后,我们点击test按钮,进行推送测试。
观察Jenkins中,会发现Jenkins已经自动执行了该任务。这说明我们的webhook也已经正确配置了。
7. 总结
​        经过我们多款软件的安装配置,我们逐步掌握了如何上传SpringBoot项目到GitLab中,并使用Jenkins自动构建任务,另外依托于Docker,让这一切变得更加方便,希望大家都多多思考,让机器自动干活,减少我们IT从业人员的重复、繁琐的工作量。

1 个回复

正序浏览
谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马