网上很少见有完整的自动化构建部署过程,本篇文章记录一下自己的一个小项目自动化部署的全过程以及其中需要注意的一些小问题。
前情提要:Jenkins安装篇Jenkins安装
- pom.xml需要内置的tomcat移除
- 添加
war
4.0.0 com.mobisys video-platform 1.0-SNAPSHOT war org.springframework.boot spring-boot-starter-parent 2.1.4.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat javax.servlet javax.servlet-api 3.1.0 provided org.springframework.boot spring-boot-maven-plugin
- 在启动类的当前目录下创建一个类(当前的启动类是VideoApplication):
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(VideoApplication.class);
}
}
配置完成之后开始打包,用右边的工具栏maven工具测试一下打包能否顺利打成war包:
如果能顺利打包说明配置成功
前面安装好了Jenkins,进入首页,不用安装它推荐的所有插件,安装如下几款插件即可:
Authorize Project
Folders Plugin
Git plugin
Generic Webhook Trigger Plugin
Localization: Chinese (Simplified)
Maven Integration plugin
Publish Over SSH
Role-based Authorization Strategy
刚开始一直以为是用coding webhook,但是一装上就出问题了,配置页面全乱了,一查原来是coding webhook已经过时了,不兼容新版本的Jenkins,切记一定要用 Generic Webhook Trigger Plugin这个插件。
插件安装按成之后可以更改maven的镜像源地址。
vim /usr/local/jenkins/home/tools/hudson.tasks.Maven_MavenInstallation/maven3.6/conf/settings.xml
1、首先进入全局工具配置alimaven central aliyun maven http://maven.aliyun.com/nexus/content/repositories/central/
首先安装JDK,这里我安装的是jdk8,这里选中了之后会有红色提示信息提示输入oracle的登录账号和密码,如果没有可以先去oracle官网注册一个账号。
然后安装git,选择自动安装。
安装maven,选择自动安装。
配置git
配置远程服务器:
配置如下图安全授权策略
点击右上角个人用户》点击设置
在API token生成新的Token,生成好之后复制该token并保存下来。
5、项目配置
新建一个任务,选择**“构建一个maven项目”**
- 添加coding代码仓库地址,添加登录的coding账号和密码,指定需要构建的分支。
- 构建触发器选择Generic Webhook Trigger
输入标识当前项目的token,当前的触发地址是http://http://192.168.1.10:8080/generic-webhook-trigger/invoke?token=leaning-platform-backend
- 输入构建pom文件名,构建的命令。
- 构建后需要将构建生成的war包复制到目标服务器上。
- 然后点击保存退出即可。
根据自己的项目需求进行选择
复制上面的web hook触发地址到服务URL栏,复制上面生成的token到构建Token栏中,然后点击完成,点击测试。
如果状态是打勾的绿色图标,说明调用远程Jenkins构建成功,否则点击发送记录查看失败原因是什么。
然后就可以测试在idea上push代码到coding上能否自动化部署到远程服务器上。
- 我这里tomcat通过docker部署的,部署的命令如下:
docker run -it -d --name=video-tomcat -p 8403:8443 -p 8080:8080 -v /root/tomcat/webapps:/usr/local/tomcat/webapps -v /root/tomcat/conf:/usr/local/tomcat/conf tomcat:8
如果run失败,可以先去掉映射目录再run,然后再用docker cp将容器中对应的目录复制到宿主机,然后再用上面的命令run即可成功。
- 将war包复制到webapps目录下后,需要注意访问的路径默认是需要带上项目名访问,否则访问会报404错误。可以更改tomcat配置文件server.xml,在host标签中加这么一行即可不用携带项目名访问。



