推送至Github觸發自動化建置
當你將修改後的內容使用git推送至Github後,Docker Hub支援此觸發產生自動化建置工作,丹尼將原先的Dockerfile內容增加apt-get update進行更新套件清單並且推送至Github的Tag版本為0.0.7進行此測試,將以下原始碼加入:
RUN apt-get update \
&& echo 'Y'
Dockerfile變更為如下內容:
FROM nodered/node-red-docker
MAINTAINER danny@35g.tw
USER root
RUN apt-get update \
&& echo 'Y'
# init
ENV TIME_ZONE="Asia/Taipei"
# timezone
RUN echo $TIME_ZONE > /etc/timezone
RUN dpkg-reconfigure --frontend noninteractive tzdata
#
USER node-red
RUN npm install node-red-contrib-flightaware
RUN npm install node-red-dashboard
之後再進行git add.新增變更的檔案後、再git commit -m "add update source list"進行本地端的提交,再將此次的提交增加Tag為git tag 0.0.7,最後將tag與內容推送至Github,git push -u origin master、git push --tags -u origin master,

最後就會看到Github已經有新版本,

此時將網頁轉至Docker Hub查看Build Details是否已經進行新版本的建置,

進行一段時間的等待後應該就能看到Success狀態在Tag0.0.7之中,

切換至Tags選項也能看到Tag Name0.0.7也在列表中,也能看到所佔的容量,

Dockerfile也更新到最新版的0.0.7的內容,能看到丹尼在新版本加了apt-get update,

結語
此次為編修Node-Red-Docker版本,增加時區的功能,間接學到如何使用Docker Hub的Automated Build來根據Github原始碼內容自動化建置映像檔,這一點帶來的好處就是不需要將自已建置好的映像檔透過網路推送至Docker Hub,一旦製作的映像檔太大時,會佔用網路上傳頻寬很長的時間,大大減少等待的時間。
參考資料
- Configure automated builds on Docker Hub
- TimeZoneChanges
- Dockerfile reference
- 撰寫一份符合需求的 Dockerfile
- Docker入门教程(三)Dockerfile
更新日誌
| 日期 | 內容 |
|---|---|
| 2017/06/19 | 初版 |
關鍵字
- Docker automated builds Docker automated build
- Docker 自動建置映像檔 從github
- docker Source Repository