6.3. 创建Jenkins任务6.3.1. 输入任务名称,选择【构建一个自由风格的软件项目】
6.3.2. 设置GitLab中项目的地址
6.3.3. 添加构建脚本
脚本内容:
#!/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]
纯文本查看
复制代码
1
|
clean package
-
f pom_docker_registry.xml
-
DskipTests docker
:
build
|
6.3.5. 添加Shell执行脚本
脚本内容
[AppleScript]
纯文本查看
复制代码
1
2
|
docker
run
--name springboot_jenkins01 -p 50101:50101 -idt 192.168.25.130:5000/springboot_jenkins01:1.0-SNAPSHOT
docker logs
-
f springboot_jenkins
01
|
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,选择下面标红的复选框,并且复制其中的超链接。
打开GitLab中我们的项目,点击设置中的Integrations,在URL中填入我们刚刚在Jenkins中粘贴的超链接。
添加完webHook之后,我们点击test按钮,进行推送测试。
观察Jenkins中,会发现Jenkins已经自动执行了该任务。这说明我们的webhook也已经正确配置了。
经过我们多款软件的安装配置,我们逐步掌握了如何上传SpringBoot项目到GitLab中,并使用Jenkins自动构建任务,另外依托于Docker,让这一切变得更加方便,希望大家都多多思考,让机器自动干活,减少我们IT从业人员的重复、繁琐的工作量。