Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
首先安装JDK http://www.javacui.com/service/641.html
下载Tomcat https://tomcat.apache.org/
解压
tar -xzf apache-tomcat-8.5.47.tar.gz
解压后移动到自定义路径,这个随意
启动tomcat
/tomcat/bin/startup.sh
停止tomcat
/tomcat/bin/shutdown.sh
注意:服务器已经关闭了防火墙,或者开放Tomcat端口
修改/tomcat/conf/tomcat-users.xml:
<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0"> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager-script"/> <role rolename="manager-gui"/> <role rolename="manager-status"/> <role rolename="admin-gui"/> <role rolename="admin-script"/> <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/> </tomcat-users>
要注意以上内容不能出错,否则会报错
Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403)
自动部署的管理用户必须具有manager-script角色,manager-gui角色是不够的
修改/tomcat/webapps/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" /> --> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context>
注释上面那个标签即可
可选修改/tomcat/conf/server.xml:
<Connector port="10011" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
这里是tomcat的访问端口
重启Tomcat
访问:http://IP:10011/manager/html,输入tomcat和tomcat,登录成功说明配置生效。
安装 Deploy to container插件
Jenkins本身无法实现远程部署到Tomcat的功能,需要安装Deploy to container插件实现
这里拉取项目时已经制定了是Maven,如果是自由风格,则需要定义Pre Steps
echo "开始编译和打包" mvn clean package echo "编译和打包结束"
即指定构建步骤
然后构建后操作,选择Deploy war/ear to a container:
点击"Build Now",开始构建
成功后会在http://IP:10011/manager/html中看到部署的项目
END
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。
发表评论: