51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Jenkins打包Java并自动部署到远程服务器

所需工具:Jenkins、svn、rsync、maven、ansible(可选)

当前系统环境:Centos7

1、安装Jenkins

参考:https://blog.whsir.com/post-2505.html

2、在Jenkins服务器上安装maven

我这里提供两种maven安装方式,任选其一,如果没有特殊要求默认yum安装即可

yum源直接安装
yum install maven

|---|-------------------| | 1 | yum install maven |

二进制安装
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

|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 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表示跳过此过程
clean package -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理论可以完成所有项目的远程发布。

赞(0)
未经允许不得转载:工具盒子 » Jenkins打包Java并自动部署到远程服务器