我们随便创建一个SpringBoot的web项目,进行jenkins的测试.

在本项目中配置了.gitignore忽略文件,把不必要的文件忽略掉,不用往git仓库中进行代码提交.
1. pom.xml文件内容
org.springframework.boot
spring-boot-starter-parent
1.5.12.RELEASE
UTF-8
UTF-8
UTF-8
1.8
1.8
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-maven-plugin
maven-compiler-plugin
${java.version}
${java.version}
UTF-8
2. Controller内容
package com.syc.jenkins.web;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/show")
public String showInfo() {
return "hello,this is jenkins demo";
}
@GetMapping("/hello")
public String sayHello() {
return "hello....";
}
@GetMapping("/new")
public String newFeature() {
return "new feature...";
}
}

可以在本地运行启动一下该项目,简单进行测试,没问题就可以上传代码到git仓库中.
二. 提交代码到Gitlab中 1. 创建Gitlab项目在gitlab中创建一个新项目,用作代码仓库.
然后把第一步中创建好的项目提交到Gitlab的仓库中.
具体过程略,提交代码的过程请参考本人的Git教程.
https://blog.csdn.net/syc000666/article/details/100921595
2. 配置jenkins与Gitlab的认证token在"Jenkins"管理中进行"系统设置".

添加Jenkins配置.
选择Gitlab API token选项.
填写Gitlab中的Access Token内容.
可以去Gitlab中,选择自己的用户的头像,选择"Settings",然后选择"Access Tokens". 
然后可以点击"Test Connection",如果出现Success则表示Jenkins与Gitlab连接成功.

2. 配置项目
配置和项⽬相关的内容,如源码,编译⽅式等.
继续向下拉
选择选择 maven maven 版本和执⾏的命令.
保存一下.

查看控制台,第⼀次可能会有⼤量的下载依赖包的过程,直到最后构建成功. 
进⼊Linux服务器中的/var/lib/jenkins/workspace/⽬录下, 可以看到以当前jenkins任务名字命名的⽬录,在⾥⾯就是我们的maven 项⽬项⽬.在target⽬录中可以找到我们编译后的jar包⽂件.
四. 部署发布项目到远程服务器,实现上线 1. 安装 Git Parameter 插件在实际开发中,我们的CI(持续集成)⼀天内可能会有很多次,但是我们的CD(持续交付)在⼀段时间内可能只会有⼀次.
所以一般只有我们在发布版本的时候才会有CD,为了区分我们的版本,可以在git中使⽤ tag 来区分. 我
们每次发布之前先对代码添加 tag,这样我们就可以选择对应的 tag 来进⾏发布. jenkins可以通过读取我们的 gitlab 的 tag,进而让我们选择对应的tag,而要读取这个 tag 我们需
要⼀个插件.

添加参数化构建,和构建后发布到的远程服务器.
 
添加⼀个构建步骤,选择shell. 
echo $Tag
cd /var/lib/jenkins/workspace/myjinkins/
git checkout $Tag
git pull origin $Tag
/usr/local/apache-maven-3.6.3/bin/mvn clean package
因为使⽤了tag,所以需要重新切换tag,然后更新代码.
4. 添加构建后操作
配置发布参数 
参考脚本
#!/bin/bash
cp /var/lib/jenkins/workspace/myjinkins/target/*.jar /usr/local/jenkins-target/
cd /usr/local/jenkins-target
nohup java -jar ./*.jar &
echo 返回值: $?
sleep 1
最后保存即可.
5. 部署上线项⽬ 5.1 在Gitlab上给我们的项目添加tag.
  选择对应的版本后进⾏构建,进⼊本次构建的控制台.
最终看到构建结果.
打开浏览器,访问自己的项目地址,10.60.14.63:8080
可以看到我们的项目接口内容成功展示出来.
5.4 修改代码,再次测试修改我们的项目代码,然后提交到Gitlab. 但是注意,此时我们之前的1.0 tag 中并没有我们 最新的内容, 作为新版本发布,我们需要新建⼀个 tag,然后选择新 tag 发布,此处略过提交代码和新建 tag 的过程. 我们新建了⼀个2.0tag,然后重新构建,发现发现2.0 2.0已经⾃动出现了.
构建完成重新在浏览器中访问服务器.
当我们最新发布的版本出现问题的时候,可以重新选择低版本的tag发布,可以快速降,此处就不演示了.