顯示具有 Jenkins 標籤的文章。 顯示所有文章
顯示具有 Jenkins 標籤的文章。 顯示所有文章

2017年4月3日 星期一

使用Jenkins進行ASP.NET自動化部署

這篇將說明如何在Windows作業系統上,使用Jenkins軟體,從版本控管Subversion取得ASP.NET專案程式,在本機上進行自動化部署作業。

一、準備作業

⬛安裝Jenkins軟體,請參考Jenkins 安裝教學
⬛安裝Sbuversion版本控管軟體,請參考Subversion Server for Windows
⬛準備發行之ASP.NET專案,請參考Visual Studio 單鍵發行使用Web.config轉換語法進行差異化部署,並將程式碼簽入Subversion Server控管。


二、安裝MSBuild Plugin與Subversion Plug-in與套件

⬛開啟Jenkis管理介面,執行左側功能選單中[管理Jenkins],然後於內容中點選[管理外掛程式]。

⬛在管理外掛程式的內容中,先點擊[可用的]頁籤,然後勾選[MSBuild Plugin]套件,然後按下[直接安裝]。
因為Jenkins套件數量破千,要尋找某一個套件並不容易,畫面上有個小技巧很好用,若已知套件部分或全部的名稱,在過濾條件輸入關鍵字後,自動顯示符合關鍵字之套件名稱。

⬛在Update Center的的內容中,會顯示正在安裝/升級Plugins的的套件清單,與安裝的進度狀態。

⬛在安裝Jenkins時,預設的安裝套件中,應該已安裝Subversion Plug-in套件,若沒有,請依照上述步驟安裝[Subversion Plug-in]。

三、Jenkins環境設定

這節將對MSBuild與Subversion進行環境設定,以方便日後常態性使用。

⬛MSBuild:開啟Jenkis管理介面,執行左側功能選單中[管理Jenkins],然後於內容中點選[Global Tool Configuration]。

在Global Tool Configuration的內容中,先找到[MSBuild]區段,然後按下[MSBuild 安裝...]鈕,進行新增MSBuild參數設定。

⬛在Name輸入.net framework 4.0,Path to MSBuild輸入C:\Windows\Microsoft.NET\Framework\v4.0.30319,然後按下[Save]鈕儲存設定。
視需要可以新增多個.Net framework版本。

⬛Subversion:開啟Jenkis管理介面,執行左側功能選單中[管理Jenkins],然後於內容中點選[設定系統]。

設定系統的內容中,先找到[Subversion]區段,Subversion 工作區版次選擇[1.7],然後按下[儲存]

那要如何得知Subversion 工作區版次呢?
檢查受SVN控管的專案目錄底下.svn/format或.svn/entries,其版本與工作區版次對應如下。
Version 7 is SVN 1.3
Version 8 is SVN 1.4
Version 9 is SVN 1.5
Version 10 is SVN 1.6
Version 12 is SVN 1.7

四、Jenkins作業

接下來終於要新增作業來進行自動化部署。

開啟Jenkis管理介面,執行左側功能選單中[新增作業]。

輸入作業名稱WebApplication1,並在下方作業類型中選擇[建置 Free-Style 軟體專案],然後按下[OK]。

⬛在[General]頁籤中,不需修改任何內容。

⬛在[原始碼管理]頁籤中,點選[Subversion]作為原始碼的資料來源,Repository URL輸入https://localhost/svn/Demo/WebApplication1,Credentials選項下拉後,選擇可以存取該Repository的帳號與密碼(可以點擊選項右方[Add]鈕進行新增帳號與密碼)。

⬛在[建置觸發程序]頁籤中,可同時存在多種觸發方法,這裡設定遠端觸發建置與定期建置,[遠端觸發建置]需另外開啟一個瀏覽器,並輸入指定之 URL進行觸發建置,[定期建置]輸入00 22 03 * *,代表每個月的03號22時00分就會執行一次。

⬛在[建置環境]頁籤中,勾選[Delete workspace before build starts]選項,代表作業在每次建置之前,都會將工作區內的原始碼清空,以確保每次都會從原始碼管理再下載一份新的程式。勾選[在「畫面輸出」中加入時間戳記],代表作業在建置過程中所產生的記錄檔會有時間戳記。

⬛在[建置]頁籤中,[MSBuild Version]下拉選項點選.net framework 4.0,[MSBuild Build File]輸入WebApplication1.sln,[Command Line Arguments]輸入下面參數字串。

/p:DeployOnBuild=true /p:PublishProfile=Release


⬛按下[儲存],完成新增作業的設定。

⬛回到專案WebApplicaton1的管理介面,可以執行左側功能選單中[馬上建置],來驗證一下設定的內容是否正確。下方建置歷程中#1作業亮起藍燈,代表建置作業成功。

⬛開啟瀏覽器來進行遠端觸發作業,輸入http://localhost:8080/job/WebApplication1/build?token=123456。

⬛點選建置歷程#2,第一行便顯示此次建置是由遠端主機啟動。

⬛因為有預設定期建置的時間,剛好時間一到而觸發建置作業,查看建置歷程#3的記錄。


自動化部署完成!

2017年3月24日 星期五

Jenkins 安裝教學

一、安裝步驟

⬛開啟Jenkins官方網站,點選[Download Jenkins]。

⬛Jenkins在GitHub上有數百位專案成員,持續為這套系統進行維護,每個星期都會發佈新版本,每隔十二週發佈較穩定的版本,這裡選擇LTS Release進行下載。

⬛點擊下拉選單,選擇Jenkins安裝運行的作業系統版本,這裡選擇[Windows]。

⬛將下載好的壓縮檔(.zip)進行解壓縮,然後執行安裝檔(.msi),出現安裝畫面後,點選[Next]進行安裝設定作業。

⬛安裝路徑與資料匣採用預設即可,然後按下[Next]鈕。

⬛按下[Install]開始進行安裝。

⬛按下[Finish]完成安裝程序。

接下來還要進行Jenkins系統檢查與初始化設定。


二、初始化設定

⬛執行[開始>控制台>系統管理工具>服務],查看服務名稱"Jenkins"的狀態是否為"已啟動"。
因為Jenkins服務安裝的預設Port Number為8080,若該連接埠被其他系統占用,則Jenkins服務無法啟動。

⬛開啟網頁 localhost:8080,網頁內容會顯示解除系統鎖定的方法,此時需要根據該說明尋找系統初始化的密碼。
理論上在完成安裝程序之後,會自動開啟一個預設網頁,若因故沒有自動開啟,也可在排除問題後,自行開啟網頁輸入網址 localhost:8080。

⬛打開檔案總管路徑"C:\Program Files (x86)\Jenkins\secrets",以文字編輯器打開檔案"initalAdminPassword",檔案內容會顯示系統解鎖密碼。

⬛輸入上述的初始化解鎖密碼後,按下[Continue]。
檔案"initalAdminPassword"會在系統初始化之後自動刪除。

⬛除了必裝的套件之外,Jenkins提供很多套件可供選擇,這裡直接選擇[Install suggested plugins]來安裝較為常用的套件,日後可在管理介面中再進行套件的增刪。

⬛在安裝過程會顯示進度與記錄。

⬛建立自訂的系統管理員帳號,按下[Save and Finish]進行下一步。

⬛初始化設定完成。

⬛進入Jenkins管理介面的首面。