所需工具:Jenkins、svn、rsync、maven、ansible(可选)
当前系统环境:Centos7
1、安装Jenkins
参考:https://blog.whsir.com/post-2505.html
2、在Jenkins服务器上安装maven
我这里提供两种maven安装方式,任选其一,如果没有特殊要求默认yum安装即可
yum源直接安装
1 |
yum install maven |
二进制安装
1 2 3 |
cd /opt wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz export PATH=/opt/apache-maven-3.6.2/bin:$PATH |
3、设置Java和maven路径
登陆Jenkins,Manage Jenkins→Global Tool Configuration
设置JDK
如果你的JDK使用的是oracle提供的rpm包,默认JAVA_HOME(JDK目录)应该是在/usr/java/jdk1.8.0_221-amd64/
设置Maven
如果你的maven使用yum安装的,默认maven目录应该是在/usr/share/maven
全部设置好后记得Save
4、Jenkins安装maven和svn插件
因为我这里是通过svn来管理代码,所以我这需要安装svn插件,如果你是用git,自行安装git插件,原理上都是一样的
登陆Jenkins,Manage Jenkins→Manage Plugins→Available查找Maven Integration和Subversion,勾选进行安装
5、创建maven项目
在Jenkins中创建新项目,自定义名称,选择“构建一个maven项目”
6、配置Subversion
Source Code Management源码管理,配置svn地址,在Credentials添加账号密码或是证书密钥
添加凭据,如果你在此处用了Nginx代理,可能会由于某些因素导致添加后,无法查看到Credentials
7、Build构建
Root POM默认为pom.xml,根据情况手动修改
package有个test过程,添加-Dmaven.test.skip=true表示跳过此过程
1 |
clean package -Dmaven.test.skip=true |
我这里手动指定了构建目录/data/whsir,构建完成后的包会在这个目录下
8、Java配置文件更换(可选)
测试和线上都是同一套代码,只是配置文件不同,此时就可以考虑在打包前替换Java配置文件,此处/data/whsir是构建时手动指定的工作区
至此Java基础打包工作完成
9、自动发布
提供思路,不涉及具体配置
网上很多都是以ssh来做自动发布的,我个人很喜欢rsync神器(不接受反驳),所以我这里以rsync来同步到远程服务器。
这里需要勾选第一项,当构建成功完成时才能够运行以下命令,我这里是通过ansible远程执行,然后通过rsync将打包好的包组推送到远程服务器上,再通过ansible启动服务
rsync配置参考:https://blog.whsir.com/post-1501.html
Jenkins远程执行shell启动tomcat失败解决:https://blog.whsir.com/post-4821.html
10、结语
如果你是第一次做Java项目发布,建议一步一步的来,先成功打包,再替换配置文件,最后再去做自动发布。
Jenkins通过Execute shell来执行shell脚本非常好用,搭配rsync、ansible理论可以完成所有项目的远程发布。
原文链接:Jenkins打包Java并自动部署到远程服务器,转载请注明来源!