前言
- 爲了避免每次在發佈項目時,每次得刪掉war重新打包,打開服務器,上傳war包,重啓服務器這一系列的繁瑣程序。所以採用了以下基於Jenkins自動化構建部署項目的實現方式
- 不明白怎麼安裝Jenkins的小夥伴可以上去瀏覽我寫的安裝教程,點擊鏈接
安裝插件
- 【系統管理】-》【管理插件】-》【可選插件】
- 勾選以下插件:
- 【發佈插件】Deploy to container Plugin
- 【subversion插件】Subversion Plug-in
- 【構建Maven項目插件】Maven Integration plugin
- 【本地化插件】Locale,這個需要到【系統設置】-【Default Language】輸入【zh-CN】並勾選Ignore browser preference and force this language to all users這個選項才能轉化爲中文
配置tomcat用戶
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
- 這個用戶在我們構建好項目war包需要發佈到tomcat,而這個用戶就是我們可以發佈到tomcat的憑證。
配置pom.xml構建命令
- 需要在pom.xml裏面配置項目構建命令,否則該Jenkins啓動不會報錯也不會發布到tomcat上
<packaging>war</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webappDirectory>${basedir}/web</webappDirectory>
<warSourceDirectory>${basedir}/web</warSourceDirectory>
<warName>demo</warName>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
詳細步驟
- 在首頁點擊【新建】
- 輸入項目名稱且選中【構建一個Maven項目】,點擊下方【確定】
- 勾選【use Svn-Partial Release Manager】和【use Subversion Release Manager】,【丟棄舊的構建】
- 在【源碼管理】,選中【subversion】,輸入【Repository URL】項目svn地址和【Credentials】訪問項目的用戶憑證
- 在【Build】,輸入【Root POM】不輸默認是根目錄下的pom.xml,如果pom.xml不在根目錄下面,則需要指定相對目錄,輸入【Goals and options】輸入構建需要執行的mvn命令。
- 在【Post Step】,選擇【run regardless of build result】無論構建結果怎麼都執行
- 在【構建設置】勾選【E-mail Notification】,輸入通知郵件和相關選項
- 在【構建後操作】,選擇【Deploy war/ear to a container】
- 【WAR/EAR files】這裏根據你maven生成war包的名稱填寫,但是路徑前面必須加上target否則會構建不成功。並且不會產生任何錯誤,也不會部署項目到tomcat,這裏是需要進行注意的
- 【Context path】是生成war包的名稱,如果是 /那麼就是ROOT.war 現在的就會生成Spring.war
- 點擊【應用】,進入項目點擊【立即構建】
- 查看【Console Output】,構建成功。
後語
- 本人也是初學者,寫的不夠詳細的地方希望可以指出。希望可以幫到有需要的人,不明白的人可以留言。