一、搭建环境说明
如下,共有两台centos服务器,
centos1上做git代码管理、maven代码打包。
centos2上做war部署。
1、centos1:下称jenkins服务器
1.1、安装jdk1.8
1.2、安装git2.27.0,可选安装,非必要,这里是用于做项目代码管理
1.3、安装gogs0.12.3,可选安装,非必要,这里是用于做项目代码管理
1.4、配置gogs连接mysql5.7数据库,可选安装,非必要,这里是用于做项目代码管理
1.5、安装maven3.8.3
1.6、安装jenkins2.303.2 LTS(稳定版)
jdk的安装自行解决。
git和gogs是非必要的安装,这里只是为了方便提供一个git进行代码管理,如果你已经有git代码管理环境了这里是不需要安装的,如果没有可以参照前面git专栏上的详细安装记录,或者用github上的也可以。
maven的安装在maven专栏上也有详细的安装记录,可自行参考配置好这些基础的系统环境。
2、centos2:用于部署api与web,下称tomcat8服务器
2.1、安装jdk1.8
2.2、安装tomcat8.5.72
因为tomcat8的安装需要配置一下管理账号和密码,下面记录一下安装与配置过程。
二、tomcat8服务器安装
1、安装tomcat8
官网地址:http://tomcat.apache.org/
cd /usr/local/tomcat
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.72/bin/apache-tomcat-8.5.72.tar.gz
tar -zxvf apache-tomcat-8.5.72.tar.gz 解压
2、添加管理员账号密码:
2.1、在conf/Catalina/localhost/下创建 manager.xml,输入以下内容
2.2、修改/conf/tomcat-users.xml文件,在tomcat-users标签中添加如下内容:
xsi:schemaLocation=”http://tomcat.apache.org/xml tomcat-users.xsd”
version=”1.0”>
2.3、停止tomcat8服务
cd apache-tomcat-8.5.72/bin
./shutdown.sh
3、启动tomcat8服务
cd apache-tomcat-8.5.72/bin
./startup.sh 启动tomcat
http://localhost:8080/ 访问tomcat面板
三、创建一个简单的测试工程
1、在gogs上创建一个springboot-test工程项目
2、往工程项目里写一个简单的测试工程,修改好代码后提交到git上
3、注意代码里打包成war包,工程相关配置如下:
#port
server.port= 1001
server.servlet.context-path= /test11
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.3.9.RELEASE</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<!-- 应与application.properties(或application.yml)中context-path保持一致 -->
<finalName>test11</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
version="2.5">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hi java web</title>
</head>
<body>
hi java web
</body>
</html>
启动类:
@SpringBootApplication
public class AppStart extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(AppStart.class, args);
}
/**
* 需要把web项目打成war包部署到外部tomcat运行时需要改变启动方式
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(AppStart.class);
}
}
接口类
@RestController
@RequestMapping(value = "data", produces = {"application/json;charset=UTF-8"})
public class TestController {
@GetMapping("test")
public String test() {
return "test";
}
}
四、安装jenkins
1、官网下载
https://www.jenkins.io/zh/download/
cd /usr/local/jenkins
wget http://mirrors.jenkins.io/war-stable/2.303.2/jenkins.war
2、启动jenkins,不指定—httpPort=3001的话,默认是8080端口
nohup java -jar jenkins.war —httpPort=3001 & 后台启动
3、打开管理界面,http://xxxx:3001,输入初始化的密码点继续
4、选择默认安装插件,如下:
5、创建第一个用户
6、在插件管理中安装额外的两个插件:Rebuilder、Safe Restart
7、全局jdk\git\maven设置
1、jdk设置
执行echo $JAVA_HOME可以找到java_home路径
2、git设置
执行which -a git可以找到git路径
git会从远程仓库上拉取代码到jenkins的workspace中,jenkins的workspace在安装启动时可以配置好。拉取代码到本地以后maven便会从本地的workspace中拿代码进行打包发布了。
3、maven设置
maven是自己安装并由自己指定的路径
五、jenkins构建任务
1、重启重新登录,新建一个Maven任务,如果面板上没有maven这个选项,安装Maven Integration插件即可
2、配置git代码源,源选择上面所创建的简单测试工程地址,并添加Credentials(git账号、密码)
3、配置maven构建环境
如果出现下图红色的文字提示则是因为还没有配置好全局maven设置,要在上面第七点配置好全局设置。
4、测试版本构建
5、构建打包结果
六、完整测试
1、构建发布后操作,将打包好的jar提交到另外一台tomcat8服务器上
添加构建后操作:Deploy war/ear to container 项目,
如果没有这个选项,那需要安装 Deploy to container插件,
添加好tomcat面板管理登录账号、密码
填写要提交的内容包、远程tomcat路径
查看打包发布日志是否成功:
在tomcat服务面板上查看一下是否有提交成功了: