Ansible 在 Docker Hub 混用 Ansible 自動建置 Docker image

2018-07-25 11:13 更新

上章「Ansible 混用 Ansible 建置 Docker image」凍仁簡化了建置 (build) image 的流程,雖可降低維護(hù)成本,但是當(dāng)維護(hù)的 image 一多,就顯得開發(fā)機(jī)不夠力。

一般企業(yè)內(nèi)部會自行架設(shè) Jenkins CI 或 GitLab CI 等服務(wù),把建置 images 的工作移至 build server 上。

以下凍仁將借由 chusiang/vim-and-vi-mode image 講解 Docker Hub 的 Auto-build 技巧。

automate_with_ansible_practice-32.jpg

Docker Hub 是什么?

Docker Hub 是官方維護(hù)的 image 市集 (marketplace)。我們可以在網(wǎng)站上取得 Ubuntu, Nginx, MySQL 等官方和社群成員所維護(hù)的 image。

2016-12-29-ansible-docker-hub-0.png

chusiang/vim-and-vi-mode 是什么?

chusiang/vim-and-vi-mode 是借由 Dockerfile 和 chusiang.vim-and-vi-mode role 建置的 Docker image,上章已提過該 Role,在此就不多加詳述。

目前支持的 Linux發(fā)行版本有:

  • ubuntu14.04, lastest
  • ubuntu16.04
  • debian7
  • debian8
  • centos6
  • centos7

怎么在 Docker Hub 自動建置 Docker image?

建立 Dockerfile 的前置作業(yè)凍仁已在上章介紹過,這里就不多提了。

  1. 登入 Docker Hub。
  2. 點擊右上角的 Create (建立),并點擊 Create Automated Build (自動建置)。 2016-12-29-ansible-docker-hub-1.png

  3. 選擇 GitHub。 2016-12-29-ansible-docker-hub-2.png

  4. 找到要 Auto-build 的 GitHub repository。2016-12-29-ansible-docker-hub-3.png

  5. 選擇好 repository 后,可以在 Name 一欄設(shè)定名稱。 2016-12-29-ansible-docker-hub-4.png

    注意!按下送出后就不能變更名稱了!

  6. 進(jìn)入 Build Settings 頁面設(shè)置 build image 相關(guān)設(shè)定。 2016-12-29-ansible-docker-hub-6.png

    1. Type:依 branch 或 tag 進(jìn)行建置。
    2. Name:設(shè)置 branch 和 tag 的名稱。
    3. Dockerfile Location:Dockerfile 的存放路徑。
    4. Docker Tag Name:設(shè)置 Docker tag 名稱。
  7. 在還末推送提交 (push commit) 之前,可先藉由右方的 Trigger 進(jìn)行手動 build image。

  8. 在 Build Details 頁面里可以觀看建置狀態(tài)。 2016-12-29-ansible-docker-hub-7.png

  9. 在 Tags 頁面可以看到這個 image 有哪些 tag 可以用。 2016-12-29-ansible-docker-hub-8.png

  10. 在 Dockerfile 頁面可以看到內(nèi)容與上章介紹的雷同。 2016-12-29-ansible-docker-hub-9.png

  11. 現(xiàn)在,我們可以從 Docker Pull Command 取得下載 image 的指令,并可從 Source Repository 取得原始碼。 2016-12-29-ansible-docker-hub-5.png

以上就是 Docker Hub 的 Auto-build 設(shè)置?,F(xiàn)在我們除了可以用一份 Ansible Roles 進(jìn)行組態(tài)設(shè)定,還可以從 Docker Hub 取得 build 好的 Docker image,真是一舉兩得??!

后話

自從有了這些 Docker images,不管是自己要跨 Linux 平臺測環(huán)境,還是幫 Vim Taiwan User Group 社群成員的 vimrc 除錯都有很大的幫助呢!

相關(guān)連結(jié)


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號