Jenkins maven自动发布配置

  • Post author:
  • Post category:其他




说明:



jenkins maven svn实现自动编译及自动发布,svn也可以切换成git,看自己需要!之前也配置过几次,都没有做记录,后面再次配置很多忘记了,又得网上找资料,发现网上的资料很多都不全,要走很多弯路,因此这次把相关的配置记录下来,把每一步都做上备注。



具体配置主要分为几步:





一、环境准备(配置JDK,MAVEN,TOMCAT,SVN);

二、jenkins安装;

三、jenkins基础配置;

四、jenkins编译发布;



一、环境准备(配置JDK,MAVEN,TOMCAT,SVN);



1)下载JDK,MAVEN,TOMCAT

过程省略…

需要配置环境变量:

[root@vm2018 ~]# vi /etc/profile
#set jdk environment
export JAVA_HOME=/home/svr/software/java/jdk8
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
#set Maven environment
export MAVEN_HOME=/home/svr/software/maven
export PATH=$MAVEN_HOME/bin:$PATH

环境变量生效:

[root@vm2018 ~]# source /etc/profile

2)Tomcat配置:

[root@vm2018 conf]# vi tomcat-users.xml

进入到tomcat的conf目录下,编辑tomcat-users.xml配置文件

添加manager-script角色,并赋予角色给admin

<role rolename=”admin-gui”/>

<role rolename=”manager-gui”/>

<role rolename=”manager-script”/>

<user username=”admin” password=”admin” roles=”admin-gui,manager-gui,manager-script”/>

打开webapps下的host-manager和manager,都有一个共同的文件夹META-INF,里面都有context.xml,这个文件的内容是:

<Context antiResourceLocking=”false” privileged=”true” >

<Valve className=”org.apache.catalina.valves.RemoteAddrValve”

allow=”127.d+.d+.d+|::1|0:0:0:0:0:0:0:1″ />

</Context>

说明:

修改allow值,因为allow设置了IP限制,在后面jenkins发布的时候会被限制,因此修改为允许访问,

即:设置 allow=”^.*$” 表示允许任何ip访问;

3)SVN配置(该项可以省略,如果svn是自己安装的话需要设置):

具体配置参考:

https://blog.csdn.net/vtopqx/article/details/81026244


重点是*=r和anon-access = read

这个配置在后面jenkins检测源码变动的时候需要访问,因此需要设置权限。



二、jenkins安装


[root@vm2018 ~]# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo  
[root@vm2018 ~]# rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
[root@vm2018 ~]# yum install jenkins

或者rpm安装

官网下载jenkins:https://pkg.jenkins.io/redhat-stable/

[root@vm2018 ~]# rpm -ih jenkins-2.9-1.1.noarch.rpm 

说明:

自动安装完成之后相关配置问目录:

/usr/lib/jenkins/jenkins.war    WAR包

/etc/sysconfig/jenkins       配置文件

/var/lib/jenkins/       默认的JENKINS_HOME目录

/var/log/jenkins/jenkins.log    Jenkins日志文件

访问:http://ip:8080 默认端口为8080,注意端口占用情况,如下图:


说明:第一次登陆需要使用默认的密码,密码在服务器上的文件中,拷贝即可。

登录之后,选择”安装推荐的插件”,如下图:



相关命令:

说明:只需要在访问jenkins服务器的网址url地址后加上相关操作单词即可,如下:

1、关闭Jenkins

http://localhost:8080/exit

2、重启Jenkies

http://localhost:8080/restart

3、重新加载配置信息

http://localhost:8080/reload



三、jenkins基础配置;



jenkins安装好之后,需要相关配置,基础配置主要有三个



1)插件管理

2)系统设置

3)全局工具配置

1)插件管理


选择左上角的系统管理=>插件管理

搜索插件进行安装:


安装Deploy to container(自动化部署插件)

安装Maven Integration(Maven集成插件)

安装Publish Over SSH(SSH远程连接插件)


安装Deploy Plugin (远程发布插件)


说明:在”可选插件”中如果搜索不到以上插件,可以到”已安装”选项中搜索是否以及安装了!

注意:因插件安装以后,需要重启Jenkins才能够使用。所以在安装插件时,可以勾选安装完成后重启Jenkins,即:在选择插件页面最后勾选上”重启Jenkins”,如果不小心忘记勾选,也没有关系,可以在浏览器网址端口后面输入/restart来重启Jenkins。


2)系统设置


选择左上角的系统管理=>系统设置

主要配置以下几项:

其它的可以自己摸索配置以下,不配也不影响正常流程;


配置:Subversion

配置:Publish over SSH


如下图:



3)全局工具配置


选择左上角的系统管理=>全局工具配置

主要设置以下几项:


配置:Maven Configuration

配置:JDK


如下图:





四、jenkins编译发布


jenkin基础配置完成后,可以进行任务工程配置,主要包括以下几个步骤:



1)新建任务



2)源码配置



3)构建触发器



4)构建环境



5)Build



6)构建后操作

具体明细如下:

1)新建任务,如下图:

2)源码配置,如下图:



3)构建触发器,如下图:



图上是每个


两分钟检测一次源代码


,如果有变化就执行任务

说明:

Jenkins提供了6中构建触发器,分别是:

build whenever a snapshot dependency is built ,当job依赖的快照版本被build时,执行本job;

触发远程构建 (例如,使用脚本);

build after other projects are built 当本job依赖的job被build时,执行本job;

build periodically 隔一段时间build一次,不管版本库代码是否发生变化,通常不会采用此种方式;

GitHub hook trigger for GITScm polling 通过Github钩子触发;

轮询 scm 隔一段时间比较一次源代码,如果发生变更,那么久build。否则,不进行build,通常采用这种方式。

定时构建 轮询 SCM说明:

第一个参数代表的是分钟 minute,取值0~59

第二个参数代表的是小时 hour,取值0~23

第三个参数代表的是天 day,取值1~31

第四个参数代表的是月 month,取值1~12

第五个参数代表的是星期 week,取值0~7,0和7都是表示星期天

查看后”问号帮助”说明Examples:

# every fifteen minutes (perhaps at :07, :22, :37, :52)

H/15 * * * *

# every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)

H(0-29)/10 * * * *

# once every two hours at 45 minutes past the hour starting at 9:45 AM and finishing at 3:45 PM every weekday.

45 9-16/2 * * 1-5

# once in every two hours slot between 9 AM and 5 PM every weekday (perhaps at 10:38 AM, 12:38 PM, 2:38 PM, 4:38 PM)

H H(9-16)/2 * * 1-5

# once a day on the 1st and 15th of every month except December

H H 1,15 1-11 *

4)构建环境,如下图:

5)Build,如下图:

输入clean package

或者是

clean package -Dmaven.repo.local=/home/svr/software/mvn_res

前者是使用默认的maven仓库路径即:/root/.m2/repository,可以使用第二个命令-Dmaven.repo.local指定仓库地址;

6)构建后操作,如下图:

选择

Deploy war/ear to container


发布到容器


至此配置完成,可以启动任务了:



PS:

如果出现以下错误,需要关注下耗时及内存情况,在编译发布的过程中是比较消耗内存的,如果内存不够系统会强制停止



Downloaded from alimaven: xxx (223 kB at 3.0 kB/s)

Started

Finished: ABORTED



版权声明:本文为vtopqx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。