版本JenKins:2.19.1, Maven:3.1
环境要求:
Jenkins官网: https://jenkins.io/index.html
官方文档:https://wiki.jenkins-ci.org/display/JENKINS/Home
jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。
网上对于Jenkins1.x的资料较多,但是对于Jenkins2.x的资料较少,而这两个版本之间变化还是很大的。
下载后是一个war包(也可以选择windows installer包,最新版本目前没有提供)
将war包放进tomcat即可。
访问,如:127.0.0.1:8088/Jenkins
第一次要求输入密码,初始密码在${USER_HOME}\.jenkins\secrets\initialAdminPassword文件中查看。然后需要等到十来分钟,
等Jenkins初始化结束进入下一步。
选择安装建议的插件。接下来就是安装基本的插件(由于网速与服务器原因,比较慢。要等上几十分钟到几个小时)
这些推荐的插件,目前我们关心的是Subversion Plugin-in ,SSH Slaves Plugin。
可供选择的jenkins2 插件镜像列表:
Jenkins 所有镜像列表: http://mirrors.jenkins-ci.org/status.html
比如日本的镜像: http://mirror.esuni.jp/jenkins/, http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/, http://ftp.tsukuba.wide.ad.jp/software/jenkins/
德国的镜像: http://jenkins.mirror.isppower.de/ , http://mirror.yandex.ru/mirrors/jenkins/
官方的镜像: http://mirrors.jenkins-ci.org/, http://archives.jenkins-ci.org/
然后会提示设置管理员用户和密码,如下:
进入jenkins
经过以上的步骤jenkins已经安装完成。
在部署你的项目之前你需要jdk,maven的信息告知Jenkins。
jdk的JAVA_HOME必须和你环境变量里的jdk保持一致。
Maven:
之后进入任务配置界面:
配置一下工作空间
问题:在这里会遇到不支持Repository URL中含中文的情形:这里我们需要配置Jenkins所在的tomcat的Server.xml文件,修改:加上:URIEncoding="UTF-8"
connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> 保存重启Jenkins所在tomcat即可解决,选择所配置的用户,上面的红色错误也不会出现了。 接下来就是构建 maven version : 选之前录入的maven,pom选pom文件所在的相对位置(此处是相对svn目录的位置)。 点击save后,点击立即构建,就可以构建了,可以在你的工作空间中发现你想要的东西了(war包)。 如果出现下面的问题: 方式一:这个问题只需要修改你的pom.xml即可。 加入 方式二:当然也可以这样配置: 规则: MINUTE Minutes within the hour (0–59) HOUR The hour of the day (0–23) DOM The day of the month (1–31) MONTH The month (1–12) DOW The day of the week (0–7) where 0 and 7 are Sunday. 指定顺序为MINUTE HOUR DOM MONTH DOW 在某个域指定多个值的规则是: 如果要定期执行任务,必须提供H (for "hash")标识。 比如0 0 * * *会在同一时间执行所有任务,而使用H H * * *也会在每天执行一次任务,但是并不是同一时间,这样就可以节省很多资源。 H还可以用于范围:H H(0-7) * * * 标识在每天12:00-7:59之间的某个时间执行任务。 H * * * * 代表每个小时执行一次 H/15 * * * *每15分钟执行一次。 自动部署需要一个容器,那Jenkins是怎么知道你的容器的呢?容器插件 首页-》系统管理-》管理插件 搜索deploy,很快就会找到这个deploy to container plugin,安装完记得重启。 这个由于网络原因下载会失败,这个时候需要设置镜像站点: 系统设置-》插件-》高级-》Update Site: 默认为: http://updates.jenkins-ci.org/update-center.json 我们改为一个日本的镜像: http://mirror.esuni.jp/jenkins/updates/update-center.json 接着选你的项目-》配置 构建后操作 保存文件。同时保存Jenkins。 先启动你的tomcat,再次点击立即构建。
如上,证明你成功了!打开浏览器访问下工程确认一下。 首先安装Deploy WebLogic Plugin插件。安装好之后,点击 系统配置-全局配置,滑到WebLogic Deployment Plugin出进行配置
其中additional classpath写上weblogic library path : wlfullclient.jar生成方法:(http://docs.oracle.com/cd/E12840_01/wls/docs103/client/jarbuilder.html) 进入weblogic的安装目录例如C:\Oracle\Middleware\wlserver_10.3\server\lib, 运行 java -jar wljarbuilder.jar就能生成wlfullclient.jar文件
如果存在堆溢出,可以把-Xmx调大一点。 这个Congiguration File的写法如下 "1.0" encoding="UTF-8"?> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://org.jenkinsci.plugins/WeblogicDeploymentPlugin plugin-configuration.xsd">
最后一个配置FTP其实是用来部署依赖库,而不是整个项目的。 注意:每次修改default.xml文件后都需要重新在系统设置中apply-save才能生效。 认证模式authmode 接下来配置任务的weblogic部分:增加一个构建后操作:
需要配置的项主要有: 其中default.xml配置, Environment,targets参数对应于weblogic domain安装配置时的如下: 配置示例:
高级配置:
详细参考:https://wiki.jenkins-ci.org/display/JENKINS/WebLogic+Deployer+Plugin https://www.zybuluo.com/kevinZheng/note/359003 比如:weblogic.Deployer部署web应用 先undeploy "D:\Program Files\Java\jdk1.8.0_101\jre\bin/java" -Xms256M -Xmx1024M -cp E:\jenkins-tomcat7\wlfullclient.jar weblogic.Deployer -debug -remote -verbose -noexit -name fxglxt -targets AdminServer -adminurl t3://localhost:7001 -user weblogic -password 12345678 –undeploy 再deploy "D:\Program Files\Java\jdk1.8.0_101\jre\bin/java" -Xms256M -Xmx1024M -cp E:\jenkins-tomcat7\wlfullclient.jar weblogic.Deployer -debug -stage -remote -verbose -upload -name fxglxt -source E:\jenkins-work\target\fxglxt.war -targets AdminServer -adminurl t3://localhost:7001 -user weblogic -password 12345678 –deploy 当然你还可以使用-redeploy来结合两个步骤 "D:\Program Files\Java\jdk1.8.0_101\jre\bin/java" -Xms256M -Xmx1024M -cp E:\jenkins-tomcat7\wlfullclient.jar weblogic.Deployer -debug -stage -remote -verbose -upload -name fxglxt -source E:\jenkins-work\target\fxglxt.war -targets AdminServer -adminurl t3://localhost:7001 -user weblogic -password 12345678 -redeploy 命令说明: 1. -Xms256M -Xmx256M 用来防止内存溢出, 2. wlfullclient.jar 里提供了weblogic.Deployer 命令用来远程发布项目war包,所以 需要-cp指定jar包路径 来启动命令 , 根据不同weblogic版本,该文件不同。 3. -verbose 指定后面的参数, 3. -upload 远程发布需要上传文件, 4. -name 发布项目名称 5. -targets 目标服务, 6. -adminurl 指定连接 weblogic 的协议 ip 和端口 7. -redploy 重新发布的 意思 8. -source 本地需要上传war包路径 点击构建按钮后,不要多次点击,此时可以查看左下角执行状态: 查看Weblogic专有日志: 参考: http://www.itdadao.com/articles/c15a338614p0.html https://www.oschina.net/question/912538_235734?fromerr=T2zy6I7r http://www.cnblogs.com/itech/p/5610634.html https://wiki.jenkins-ci.org/display/JENKINS/Home http://blog.csdn.net/thekenofdis/article/details/51316787 https://wiki.jenkins-ci.org/display/JENKINS/WebLogic+Deployer+Plugin http://stackoverflow.com/questions/16478705/deploy-to-weblogic-using-maven-and-jenkins https://www.zybuluo.com/kevinZheng/note/359003构建配置
定时构建配置
H(0-29)/10 * * * * every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)
# 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 *
自动部署
自动部署到tomcat
自动部署到Weblogic
日志查看