Jenkins 使用上可以透過API叫它幫我們完成某些事情.
官方文件參考:
https://wiki.jenkins.io/display/JENKINS/Remote+access+API
Jenkins 使用上可以透過API叫它幫我們完成某些事情.
官方文件參考:
https://wiki.jenkins.io/display/JENKINS/Remote+access+API
再安裝plugin的時候, Jenkins會自動連線到外部的market去看看有沒有更新資訊.
若公司內部有防火牆可能就要設定一下proxy.
這邊就兩個都來講一下怎麼設定吧.
前面已經介紹過如何從Git版控下載,
下script 操作, 安裝 plugins. email提醒通知.
可以下command就可以自行下copy等等指令把檔案搬移了.
可以說是整套CI (Continuous Integration Server) 接近圓滿.
現在來講講佈署後的驗證吧.
前面有介紹過安裝套件
https://dotblogs.com.tw/grayyin/2016/08/10/133034
但是如果安裝失敗呢??
這邊來講一下手動安裝好了.
可以自行去Jenkins官方網站下載 .jpi 或者 .hpi的檔案.
一路進行到這邊,好像忘了最重要的事情,
權限設定, 沒有設定誰都可以進來上版,
這麼不安全??
Jenkins也早就考慮到了,
讓我們來看看權限設定吧.
我的專案使用的是JAVA,
上版前會有幾個動作要委託Jenkins完成.
1. 從版控依照版號取得指定的檔案版本
2. 建置該版本的 war 檔案
3. 佈署
在建置過程中如果出錯了需要提醒呢??
別擔心, Jenkins可以發Email提醒你,
這邊也來簡單講一下提醒email的設定吧.
前面提到我使用Git作為版控, 程式用JAVA開發, 需要安裝JDK + Ant + Git 等等plugin.
這邊簡單的講解一下如何安裝需要的套件,
Jenkins之所以強大就是因為可以自由的選用這些套件,
(如果權限夠, 幾乎是想對這台電腦做下甚麼命令都可以辦到了. 我應該沒有誇大 @@... )
先從最簡單也最強大的功能講起吧,
如何從Jenkins對電腦下達script指令,
能夠下指令就表是成功一半了,
可以在該台電腦下達copy , ping , del 等等命令.
更狠一點 可以直接下 [shutdown -s] 把電腦就關閉了.
所以這個能力真的很強大.
先思考著Jenkins能用來做些什麼事情呢??
自動化佈署程式需要自動化的有哪些項目呢??
先想過自己想要的動作流程,
假設版控已經有在運行, 每次更新程式大概需要以下七個動作:
1. 程式上版控.
2. 從版控上checkout 指定版本的程式.
3. 自動建置產出Build.
4. copy 程式到指定的環境.
5. 重啟站台. (可能要清除Cache什麼的.)
6. 自動進行驗證.
7. Email通知機制.
近日因工作需要, 所以來找尋自動化佈署的工具,
若是以人工方式佈署程式, 假設機器有100台,
一台一台複製, 啟動站台, 我想一個禮拜完成可能算是快的了.
那有沒有聰明一點的工具呢?
其實有的, 第三方很多套件都有, 而且是免費,
在很多比較後, 我決定使用Jenkins實現我想要的流程.