0
点赞
收藏
分享

微信扫一扫

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程


04_Ubuntu下Jenkins实现java项目自动化部署教程

一. 创建Java项目

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

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_spring


在本项目中配置了.gitignore忽略文件,把不必要的文件忽略掉,不用往git仓库中进行代码提交.

1. pom.xml文件内容

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.12.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<encoding>UTF-8</encoding>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies>
<!--web启动器是与SpringMVC相关的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<target>${java.version}</target>
<source>${java.version}</source>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>

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...";
}

}

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_maven_02


可以在本地运行启动一下该项目,简单进行测试,没问题就可以上传代码到git仓库中.

二. 提交代码到Gitlab中

1. 创建Gitlab项目

在gitlab中创建一个新项目,用作代码仓库.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_spring_03


然后把第一步中创建好的项目提交到Gitlab的仓库中.

具体过程略,提交代码的过程请参考本人的Git教程.


2. 配置jenkins与Gitlab的认证token

在"Jenkins"管理中进行"系统设置".

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_04

添加Jenkins配置.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_spring_05

选择Gitlab API token选项.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_maven_06

填写Gitlab中的Access Token内容.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_07

可以去Gitlab中,选择自己的用户的头像,选择"Settings",然后选择"Access Tokens".


jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_maven_08

然后可以点击"Test Connection",如果出现Success则表示Jenkins与Gitlab连接成功.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_09


三. jenkins中新建Item

1. 创建一个新任务

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_spring_10


 

2. 配置项目

配置和项⽬相关的内容,如源码,编译⽅式等.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_maven_11

继续向下拉

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_12

选择选择 maven maven 版本和执⾏的命令.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_13

保存一下.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_maven_14


3. 构建测试


jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_15

查看控制台,第⼀次可能会有⼤量的下载依赖包的过程,直到最后构建成功.


jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_16


进⼊Linux服务器中的/var/lib/jenkins/workspace/⽬录下,
可以看到以当前jenkins任务名字命名的⽬录,在⾥⾯就是我们的maven 项⽬项⽬.在target⽬录中可以找到我们编译后的jar包⽂件.

四. 部署发布项目到远程服务器,实现上线

1. 安装 Git Parameter 插件

在实际开发中,我们的CI(持续集成)⼀天内可能会有很多次,但是我们的CD(持续交付)在⼀段时间内可能只会有⼀次.
所以一般只有我们在发布版本的时候才会有CD,为了区分我们的版本,可以在git中使⽤ tag 来区分. 我
们每次发布之前先对代码添加 tag,这样我们就可以选择对应的 tag 来进⾏发布. jenkins可以通过读取我们的 gitlab 的 tag,进而让我们选择对应的tag,而要读取这个 tag 我们需
要⼀个插件.


jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_maven_17


2. 重新配置项⽬

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_maven_18

添加参数化构建,和构建后发布到的远程服务器.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_19



3. 配置构建后发布

添加⼀个构建步骤,选择shell.


jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_maven_20


参考脚本

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. 添加构建后操作

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_21

配置发布参数


jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_spring_22


参考脚本

#!/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.


jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_23


5.2 带参数构建项⽬.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_spring_24



选择对应的版本后进⾏构建,进⼊本次构建的控制台.最终看到构建结果.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_25


5.3 访问⽬标服务器

打开浏览器,访问自己的项目地址,10.60.14.63:8080

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_26


可以看到我们的项目接口内容成功展示出来.

5.4 修改代码,再次测试

修改我们的项目代码,然后提交到Gitlab. 但是注意,此时我们之前的1.0 tag 中并没有我们

最新的内容, 作为新版本发布,我们需要新建⼀个 tag,然后选择新 tag 发布,此处略过提交代码和新建 tag 的过程. 我们新建了⼀个2.0tag,然后重新构建,发现发现2.0 2.0已经⾃动出现了.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_spring_27

构建完成重新在浏览器中访问服务器.

jenkins教程之04_Ubuntu下Jenkins实现java项目自动化部署教程_git_28


5.5 项目降级

当我们最新发布的版本出现问题的时候,可以重新选择低版本的tag发布,可以快速降,此处就不演示了.


 

举报

相关推荐

0 条评论