Jenkins+Maven+Git 自动化构建

准备环境 JDK1.8、Maven3.5.4、jenkins-2.121、Git。关于JDK安装和环境变量不讲了,自行百度一下。


下载Jenkins,采用rpm安装

rpm -ih jenkins-2.121.1-1.1.noarch.rpm


修改vi /etc/init.d/jenkins,把自己的JDK路径加到后面。


使用service jenkins start 启动。

安装Git

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

yum install git (这步有的服务器已经默认安装了,注意一下就行)

查找Git路径

whereis git 


下载Maven并安装

在/usr/local中解压apache-maven-3.5.4,改为了maven(习惯问题)


修改Maven中conf/settings.xml,我把默认路径改了。在/usr/local/maven中创建repo文件夹


设置环境变量,并让其生效。不清楚的可以百度

export MAVEN_HOME=/usr/local/maven
export PATH=$MAVEN_HOME/bin:$PATH

打开安装Jenkins服务的地址


查看初始密码 cat /var/lib/jenkins/secrets/initialAdminPassword


确定后,会进入首页插件页面。我比较懒选择插件来安装,直接全部安装。还是看个人的选择。



输入用户名密码等信息


系统管理-》全局工具配置

修改maven默认settings.xml文件,配置git、jdk、maven后保存。





安装插件




创建一个Maven工程


构建触发器作用是 当开发人员push代码到git上面后,这里定时或通知触发自动构建。标红说明 



点击下面到构造后操作选项 Deploy war/ear to a container



选择Add Container


WAR/EAR files:输入war包的相对路径,如我的war包在新建目录的target下

context path:输入用来访问tomcat的名称,localhost:8080/spring01

add container:增加容器,一般选tomcat 8X就可以。这里的username与password需要到tomcat的conf文件夹中的tomcat-users.xml修改。tomcat URL就是你希望把war包部署到的tomcat所在IP地址,最后面不需要再加斜杠/。

tomcat-users.xml中的用户名及密码默认是注释掉的,所以需要删除注释,也可以直接复制以下代码到</tomcat-users>之前。如果只是删除注释的话好像部署不会成功,还需要增加manager开头的三个role才可以。

  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager-gui" />
  <role rolename="manager-script" />
  <role rolename="manager-status" />
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="deploy" password="tomcat" roles="manager-gui,manager-script,manager-status" />

然后到tomcat下面webapps/manager/META-INF/context.xml 注销掉红色部分。因为默认tomcat不可以通过外部ip访问管理界面。一定要启动Tomcat,不然等构建等时候会报拒绝连接

<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" />-->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

把tomcat配置到账户密码输入进行,然后选择这个creadentials

到这里就配置完成了,点击构建从控制台看错误信息

12:41:51 [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:3.0.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:3.0.0: Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:3.0.0 from/to central (https://repo.maven.apache.org/maven2): /usr/local/maven/repo/org/apache/maven/plugins/maven-clean-plugin/3.0.0/maven-clean-plugin-3.0.0.pom.part.lock (No such file or directory) -> [Help 1]
12:41:51 [ERROR] 
12:41:51 [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
12:41:51 [ERROR] Re-run Maven using the -X switch to enable full debug logging.
12:41:51 [ERROR] 
12:41:51 [ERROR] For more information about the errors and possible solutions, please read the following articles:
12:41:51 [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException


这个原因是本地maven库没有相关依赖包,我们直接把本地下载好到maven库直接扔/usr/local/maven/repo/中去


重新构建成功


我们查看一下Tomcat


这里说明一下,在构建触发那里设置了2分钟去Git上查看是否有开发人员提交等代码更新,如果提交过自动重新构建发布到Tomcat下面去。在正式环境,我们一般都是通过shell脚本去操作Tomcat



猜你喜欢

转载自blog.csdn.net/m0_37444820/article/details/80865240
今日推荐