首页 » DevOps » Jenkins » Jenkins打包Java并自动部署到远程服务器

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

 

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

当前系统环境:Centos7

1、安装Jenkins

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

2、在Jenkins服务器上安装maven

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

yum源直接安装

二进制安装

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表示跳过此过程

我这里手动指定了构建目录/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并自动部署到远程服务器,转载请注明来源!

0