jenkins+git實現docker持續部署


jenkins所做的事情很簡單,就拿我現在的情況來說吧,
(1)、每次開發完成,我都會push到我的遠程倉庫;
(2)、我再將我push到遠程倉庫的代碼pull到我的測試服務器上;
(3)、在測試服務器上,我要重啟下我的項目;
(4)、我再執行我的shell的測試腳本將代碼打包放到tomcat/webapps下面;
(5)、最后去看我的腳本執行情況,得到結果
每次都是這樣的一個重復步驟,這還是自己開發,自己測試的情況,如果是別人開發,那別人push后還得發郵件告訴我,我這邊可以測試了。耽誤的時間現在jenkins使用,我只需要將上面的配置好了,等開發那邊開發完成,直接push就去做這些事
情。我這邊什么都不用更管。我需要做的事情就只是針對他這次的更新,添加測試用例即可。

舉個例子:

本地寫了一個簡單的web項目,我選擇使用ant進行項目的打包,將項目傳到github上面,然后在jenkins里新建了一個Job,然后配置這個Job,之后在源碼管理部分選擇git,然后填上項目的url,因為我把項目設置成了public,所以不需要配置用戶名密碼,之后對構建觸發器Build periodically和Poll SCM進行設置(Poll SCM:定時檢查源碼變更(根據SCM軟件的版本號),如果有更新就checkout最新code下來,然后執行構建動作。我的配置如下:*/5 * * * *  (每5分鍾檢查一次源碼變化)Build periodically:周期進行項目構建(它不care源碼是否發生變化),我的配置如下:0 2 * * *  (每天2:00 必須build一次源碼))之后在構建里面先選擇Invoke Ant。之后在添加一個Execute shell,寫上命令

完成一個簡單Job的配置。簡述一下上面cmd的意思,首先在當前目錄下新建一個tag文件,利用這個tag文件可以確定當前鏡像的版本(格式v0.0.0),之后在當前工程目錄下新建Dockerfile,它依據的父鏡像是tomcat:latest,然后將上面使用ant打成的war包放到當前鏡像的/usr/local/tomcat/webapps下面,之后dcoker build打成鏡像,docker push將鏡像push到私庫,最后運行此鏡像。現在最大的好處就是只要你往github上傳代碼,jenkins就會幫你自動構建,並且你可以查看構建過程中產生的輸出,這樣你可以找到是哪里出的錯。很好的工具,值得深入研究。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM