使用 TeamCity 實現 Auto Build ~~進階設定篇

繼上一篇針對Bitbucket與TeamCity的設定後,我們大致上已經完成了Project整合的部分,接下來這一篇會來實作算是比較進階的設定

  • GitServer即時通知TeamCity Build Project
  • TeamCity Auto Build完成之後,幫我們Auto Deployment到 TomCat
  • 信件通知

Part 1. GitServer即時通知TeamCity Build Project 

我們這邊依樣事先用BitBucket來做測試,而我們會使用到的設定就是Webhook(意指鉤子),我們需要透過這個鉤子去通知TeamCity有新的Commit,接著我們就開始來設定

step 1. 我們一樣先登錄我們BitBucket的網頁,點選專案下面的設定,接著點選Webhooks >> Add Webhook

螢幕快照 2018-02-04 下午8.13.27

step 2. 接下來的畫面我們需要輸入TeamCity提供給外部Server呼叫的Url 格式範例,更多的Api可以參考官網的介紹

如下圖

  • <user name> : Teamcity 的帳號
  • <user password> : Teamcity 的密碼
  • <server address> : Teamcity 的url
  • <build configuration Id>: Teamcity 專案build id

範例如下

其中<build configuration Id> 大家可已到Teamcity Web ,Project > build > General Setting就可以看到build configuration Id

螢幕快照 2018-02-04 下午8.37.17

輸入完Url後我們就可以點選Save,這時候我們可以試著Push Code 到 Bitbucket ,Bitbucket就會透過Webhook的設定即時通知TeamCity程式碼有被修改,TeamCity就會自動當我們執行該Project的Build Agent,這樣的設定是不是比原本透過TeamCity本身的Trigger聰明多了呢?!

Part 2. TeamCity Auto Build完成之後,幫我們Auto Deployment到 TomCat

這個功能應該可以說是我們整合的最後一步,就是TeamCity可以幫我們自動Deploy,而這邊我們先用Tomcat來做設定

step 1. 我們先到TeamCity >> Project >> Build Step的設定,點選Add Build Step

螢幕快照 2018-02-04 下午8.58.42

step 2. 接著會到Build Step的設定頁面

  1. Runner Type : 選擇Container Depolyer
  2. Target : Tomcat Server 的 url
  3. Container Type : 選擇Tomcat的版本
  4. username : tomcat 的帳號(必須要擁有manager-script 的角色)
  5. Password : tomcat 的密碼
  6. Path to war archive : build完成後,產生的War檔位置

輸入完相關設定後就可以點選Save

螢幕快照 2018-02-04 下午9.01.02

最後我們就可以開始測試囉~~~

ps. 因為目前TeamCity只提供tomcat的container,其他的例如jboss,spring boot等…專案我們也可以透過Runner Type 選擇Command Line or SSH Upload的方式來達到Auto Deploy的目的喔!

part 3. TeamCity mail 通知

TamCity 可以幫我們Auto Build , Auto Deploy那可不可以寄信通知Build成功或失敗呢?當然是可以的喔~最後我們就來設定信件通知吧!!!

step 1. 首先我們先到Administrator的Email Notifier的設定

螢幕快照 2018-02-04 下午9.27.36

smtp server這邊是用Gmail的來設定,當然也可以自己架設一個smtp server(比較麻煩XD),我們只要準備一個gmail 帳號

  • SMTP host : smtp.gmail.com
  • SMTP port : 587
  • Send email messages from : gmail 信箱
  • SMTP login : gmail 信箱
  • SMTP password : gmail密碼
  • SMTP connection : StartTLS

設定完我們可以點選Test connection測試一下設定是否可以成功寄信喔!如果測試沒問題點選Save,到這邊我們已經完成了smtp Server的設定

step 2. 接著我們要針對使用者來設定各自的寄信規則,我們先到Teamcity的使用者設定>>Notification Rules>>Add Rules

螢幕快照 2018-02-04 下午9.43.21

接著選擇該使用者需要收到通知的專案,以及通知的狀況,選擇之後點選Save

螢幕快照 2018-02-04 下午9.47.46

最後大家就可以收到TeamCity的信件通知囉~~如此一來我們Push上去的Code就有一套很好的機制幫我們Build and Deploy如果有錯誤也可以即時寄信通知我們,這樣是不是讓我們在專案的開發上可以更得心應手呢?!

TeamCity的介紹到這一篇大概也要告一個段落了,如果有什麼錯誤的地方也請各位前輩多多指教,當然還有許多更進階的功能可以使用,如果之後有用到什麼好用的功能再上來跟大家分享喔~~~

 

Facebook Comments