黑马程序员技术交流社区

标题: 【郑州校区】SpringBoot+GitLab+Docker+Jenkins实现持续集成 四 [打印本页]

作者: 我是楠楠    时间: 2020-4-30 10:51
标题: 【郑州校区】SpringBoot+GitLab+Docker+Jenkins实现持续集成 四
本帖最后由 我是楠楠 于 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. 执行任务
点击项目的左侧菜单中的【立即构建】,可以观察到下面的日志内容,日志太长,我分段给大家截取:

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从业人员的重复、繁琐的工作量。


作者: dawei9989    时间: 2020-5-3 23:42
谢谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2