Jenkins2.40 +Gitee +Maven3.6.3 +Tomcat8.5.56
Maven插件Maven Integration plugin
發(fā)布插件Deploy to container Plugin
git插件Git plugin
gitee插件?Gitee
下載地址和安裝環(huán)境要求
https://www.jenkins.io/download/
https://www.jenkins.io/doc/book/platform-information/support-policy-java/
?1.免安裝版啟動(dòng)服務(wù)
cd D:\Program Files\Jenkins
java -jar? Jenkins.war --httpPort=8089
Jenkins默認(rèn)的端口號(hào)是8080恩袱,修改方法:java -jar jenkins.war --ajp13Port=-1 --httpPort=8081
windows安裝版msi文件啟動(dòng)服務(wù)
2.啟動(dòng)Jenkins服務(wù)
net start jenkins? (注:如果Jenkins曾經(jīng)啟動(dòng)過刨沦,啟動(dòng)服務(wù)不需要進(jìn)入到某個(gè)目錄)
3.停止Jenkins服務(wù)
net stop jenkins
一呼巷、安裝插件
Plugin插件安裝失敗
對(duì)于maven integration安裝失敗:
http://updates.jenkins-ci.org/download/plugins/maven-plugin/2.14/maven-plugin.hpi
其他插件安裝不了可以去搜索插件離線安裝:
http://updates.jenkins-ci.org/download/plugins
該插件是用來將war包發(fā)布到服務(wù)器上
通過手動(dòng)安裝,插件管理(Plugin Manager)--> ?高級(jí) -->上傳插件
安裝完插件后捞烟,進(jìn)行全局工具配置
二薄声、全局工具配置
Manage Jenkins ?--?Global Tool Configuration
JDK
注意:Oracle需要提供賬號(hào),才能下載JDK题画。
Git ?
Path to Git executable ?填寫機(jī)上的安裝路徑 ?D:\Program Files\Git\bin\git.exe
Maven
Install from Apache ? ? ?選擇版本就可以了
記得要保存
三默辨、(New Item)創(chuàng)建任務(wù)
安裝Maven插件后才可以構(gòu)建Maven項(xiàng)目
配置Git ?只要填寫Repository URL倉(cāng)庫地址
(Credentials)證書 ?后面點(diǎn)擊(Add)添加,輸入Gitee 登錄的用戶名密碼苍息,Description輸入一個(gè)描述便于區(qū)分
其他不需要修改
點(diǎn)擊藍(lán)色字鏈接配置 Maven (可以在菜單?Manage Jenkins? - Tools)
配置JDK
Build Triggers(構(gòu)建觸發(fā)器)
設(shè)置輪詢SCM為每15分鐘輪詢一次缩幸,此處的編寫規(guī)則遵循crontab 任務(wù)的周期編寫規(guī)則壹置。
Poll SCM
H/15 * * * *
填寫紅色框內(nèi)容clean package -Dmaven.test.skip=true
點(diǎn)擊 Add post-bulid action ?選擇 Deploy war/ear to container 接著選擇發(fā)布到容器(Tomcat x、JBoss x等容器)
WAR/EAR files 填寫? **/target/*.war
如果路徑不對(duì)會(huì)報(bào)如下錯(cuò)誤:
ERROR: Step ‘Deploy war/ear to a container’ aborted due to exception:
java.lang.InterruptedException: [DeployPublisher][WARN] No wars found. Deploy aborted. %n
Context path 填寫? ?/test ? (只填寫 ?/ 就會(huì)是替換你的ROOT表谊,生成一個(gè)ROOT.war钞护,填寫/test 生成一個(gè)test.war)
點(diǎn)擊Add(添加) 選擇 Jenkins
Add Credentials ?頁面紅框全出來的userName 、Password填寫Tomcat你配置的用戶密碼
如下錯(cuò)誤說明是Tomcat權(quán)限錯(cuò)誤:
org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403)?
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL:http://192.168.0.113:8080/manager/text/list?at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:577)... 21 more
找自己電腦Tomcat容器路徑:
D:\apache-tomcat-8.5.56\webapps\manager\META-INF\context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
修改為:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"? allow="192.168.0.*" />? ?<!--指定IP 或者域名爆办, 或者allow="^.*$"-->
或者
<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"? allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
配置tomcat遠(yuǎn)程部署賬號(hào)难咕,在tomcat目錄下conf文件內(nèi)tomcat-users.xml 文件增加以下配置:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
記得Save(保存)
如果Build Now你出現(xiàn)下面的這個(gè)錯(cuò)誤,說明你來到一個(gè)最坑爹的問題,只要把Containers 換成Tomcat 7.x Remote 配置不變:
ERROR: Build step failed with exception
org.codehaus.cargo.container.ContainerException: Failed to redeploy [C:\Users\Administrator\.jenkins\workspace\test_OA\ruoyi-admin\target\ruoyi-admin.war]
at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:184)
at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:81)
at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:167)
at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:136)
at hudson.FilePath.act(FilePath.java:1075)
at hudson.FilePath.act(FilePath.java:1058)
at hudson.plugins.deploy.CargoContainerAdapter.redeployFile(CargoContainerAdapter.java:133)
at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeployFile(PasswordProtectedAdapterCargo.java:95)
at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:113)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1074)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
at hudson.model.Run.execute(Run.java:1905)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:428)
Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The Tomcat Manager responded
通過創(chuàng)建的項(xiàng)目進(jìn)圖
Bulid Now ?構(gòu)建運(yùn)行
Configure ?配置
Build History ? 構(gòu)建任務(wù) :查看運(yùn)行的狀態(tài)距辆,日志
刪除Build History
jenkins –> (Manage Jenkins)系統(tǒng)管理 --> (Script Console)腳本命令行
以下是腳本命令
https://github.com/jenkinsci/jenkins-scripts/blob/master/scriptler/bulkDeleteBuilds.groovy
修改jobName 和buildRange 這兩個(gè)參數(shù)余佃;jobName項(xiàng)目名稱,?buildRange 構(gòu)建的版本區(qū)間 跨算。
我的默認(rèn)jenkins目錄 C:\Users\Administrator\.jenkins\jobs下對(duì)應(yīng)的jobName爆土。