站長留言

  • ✅ 本站維護及更新歷史紀錄,詳情請參考公告
  • ✅ 有任何意見、想法,歡迎留言給Spicy知道喔
  • ✅ 固定於每周一至周五更新Blogger文章,周末不定期
DevOpsJenkinsSVNTomcatVaadin

【Jenkins】利用Jenkins將SVN上的Vaadin Project定期自動化布署至Tomcat

tags: Linux DevOps Jenkins Tomcat

圖片來源

Jenkins

  • 以Linux為例
  • 安裝Jenkins,官方文件
  • 防火牆 sudo ufw allow [Jenkins port]
  • 打開瀏覽器 (亦可遠端操作)

設定環境

  1. 查詢初始密碼並輸入 cat /var/lib/jenkins/secrets/initialAdminPassword
  2. 安裝插件
  3. 設定admin帳密 (或跳過,用其他方式修改admin密碼)
  4. 進入Jenkins主畫面

修改或新增使用者

  • 首頁 → 使用者 → admin → 設定 → 修改密碼
  • 首頁 → 管理Jenkins → 管理使用者 → 建立使用者

設定專案所需環境

  1. 首頁 → 管理Jenkins → Global Tool Configuration
  2. 設定JDK
  3. 設定Maven

安裝專案所需插件

  1. 首頁 → 管理Jenkins → 管理外掛程式
  2. 切換至可用的進行搜尋
  3. Plugins
    • Subversion
    • Deploy to container

新建Jenkins專案

  1. 首頁 → 新增作業
  2. 輸入專案名稱並選擇建置Free-Style軟體專案
  3. 跳到 原始碼管理
  4. 建置觸發程序 → 設定 輪詢SCM,參考延伸閱讀
    • 第一個*表分鐘,0~59
    • 第二個*表小時,0~23
    • 第三個*表第幾天,1~31
    • 第四個*表第幾月,1~12
    • 第五個*表每周第幾天,0~7
  5. 以每周三四五,23:30~23:59自動建置為例 30-59 23 * * 3-5
  6. 建置 → 呼叫最上層Maven目標
    • 輸入maven goal
    • 以Vaadin Project production mode為例 clean package -Pproduction -X
  7. 建置後動作 → Deploy war/ear to a container
    • 指定欲布署的war檔名稱,這邊不指定 **/*.war
    • 指定Context path
      • 若設定為/,則http://192.168.10.37:9003/
      • 若設定為/test,則http://192.168.10.37:9003/test
    • 設定Tomcat
      • 新增Credentails,參考Tomcat Credentails
      • 指定欲布署的Tomcat IP http://192.168.10.37:9003/
      • Tomcat可與Jenkins不同IP

Tomcat Credentails

  • 編輯tomcat user設定 sudo vim /usr/local/tomcat/conf/tomcat-users.xml
    • manager-gui - 允許訪問 HTML GUI 和 狀態頁
    • manager-script - 允許訪問 text interface 和 狀態頁
  • Jenkins只需要manager-script的權限
    <role rolename="manager-script"/>    
    <user username="admin" password="admin" roles="manager-script"/>

馬上建置

  1. 若不想等輪詢建置專案,則可利用馬上建置的功能,立刻建置專案
  2. 點選Console Output,可查詢建置過程log
  3. 建置完成
  4. 到指定的urlhttp://192.168.10.37:9003/查看畫面

Extensive Reading 延伸閱讀

Reference 參考資料

沒有留言:

張貼留言

本網站建議使用電腦或平板瀏覽