原文鏈接: http://yangbingdong.com/2017/docker-automated-build-by-github/
一開始玩Docker總是用別人的鏡像確實很爽
歪歪...
But,如果要定制個性化的Image那就必須要自己寫Dockerfile了,但是每一次修改完Dockerfile,都要經(jīng)過幾個步驟:
Built -> Push -> Delete invalid images
對于程序猿而言做重復(fù)的事情是很恐怖的,所以博主選擇Github自動構(gòu)建Docker Image~
Create automated repo
在Github上面創(chuàng)建一個項目并把Dockerfile以及上下文需要用到的文件放到里面。
Dockerfile的講解不在本篇范圍內(nèi)~
Link repository service
首先需要綁定一個倉庫服務(wù)(Github):
1、登錄Docker Hub
;
2、選擇 Profile
> Settings
> Linked Accounts & Services
;
3、選擇需要連接的倉庫服務(wù)(目前只支持Github
和BitBucket
);
4、這時候需要授權(quán),點擊授權(quán)就可以了。
Create an automated build
自動構(gòu)建需要創(chuàng)建對應(yīng)的倉庫類型
自動構(gòu)建倉庫也可以使用docker push
把已有的鏡像上傳上去
1、選擇Create
> Create Automated Build
;
2、選擇Github
;
3、接下來會列出User/Organizations
的所有項目,從中選擇你需要的構(gòu)建的項目(包含Dockerfile);
4、可以選擇Click here to customize
自定義路徑;
5、最后點擊創(chuàng)建就可以了。
Add integration service
用過Github
自動構(gòu)建當然需要Github
的支持啦,這里只需要在Github里面點兩下就配置完成,很方便:
在
Add Service
里面找到Docker
并添加。
Use the Build Settings page
Automated
系統(tǒng)會默認幫我們勾上自動構(gòu)建選項:
這時候,當我們的Dockerfile有變動會自動觸發(fā)構(gòu)建:
還在構(gòu)建過程中我們可以點擊Cancel取消構(gòu)建過程。
Add new build
Docker hub默認選擇master分支作為latest版本,我們可以根據(jù)自己的標簽或分支構(gòu)建不同的版本:
(點擊箭頭位置會出現(xiàn)例子)
這樣,當我們創(chuàng)建一個標簽如1.0.2并push上去的時候會自動觸發(fā)構(gòu)建~
Git
標簽相關(guān)請看:Git標簽管理
Remote Build triggers
當然我們也可以遠程觸發(fā)構(gòu)建,同樣在Build Setting頁面:
然后例子已經(jīng)說的很清楚了