📘
現代 IT 人一定要知道的 Ansible 自動化組態技巧
  • README
  • 前言
  • Ansible 是什麼?
  • 怎麼部署 Ansible 環境?
  • 怎麼用 Vagrant 練習 Ansible?
  • 怎麼用 Docker 練習 Ansible?
  • 怎麼操作 Ansible?
  • 怎麼用 Jupyter 操控 Ansible?(localhost)
  • 怎麼用 Jupyter 操控 Ansible?(Managed node)
  • 怎麼用 Docker Compose 練習 Ansible?
  • Ansible 的開發工具有哪些?
  • 怎麼看 Ansible Modules 文件?
  • 常用的 Ansible Module 有哪些?
  • 怎麼使用 setup 取得 Managed node 的 facts?
  • 怎麼使用 Ansible 的 Template 系統?
  • 怎麼在 Playbooks 裡使用 Handlers?
  • Ansible 如何發送 notification 到 Slack?
  • Ansible 如何發送 notification 到 HipChat?
  • 如何在 Playbooks 使用 loops?
  • 如何維護大型的 Playbooks?
  • Roles 是什麼?
  • 怎麼使用 Roles?
  • 怎麼用 Roles 部署 LNMP 網頁應用程式?(上)
  • 怎麼用 Roles 部署 LNMP 網頁應用程式?(下)
  • 怎麼用 Roles 部署 TestLink?
  • 怎麼在 Ansible Galaxy 分享 Roles?(上)
  • 怎麼在 Ansible Galaxy 分享 Roles?(下)
  • 怎麼用 Travis CI 測試 Roles?
  • 怎麼混用 Ansible 建置 Docker image?
  • 怎麼在 Docker Hub 混用 Ansible 自動建置 Docker image?
  • 怎麼用 Vault 管理敏感資料?
  • 總結
Powered by GitBook
On this page
  • 29. 怎麼在 Docker Hub 混用 Ansible 自動建置 Docker image?
  • Docker Hub 是什麼?
  • chusiang/vim-and-vi-mode 是什麼?
  • 怎麼在 Docker Hub 自動建置 Docker image?
  • 後語
  • 相關連結

Was this helpful?

Edit on GitHub

怎麼在 Docker Hub 混用 Ansible 自動建置 Docker image?

Previous怎麼混用 Ansible 建置 Docker image?Next怎麼用 Vault 管理敏感資料?

Last updated 5 years ago

Was this helpful?

29. 怎麼在 Docker Hub 混用 Ansible 自動建置 Docker image?

上章「」凍仁簡化了建置 (build) image 的流程,雖可降低維護成本,但是當維護的 image 一多,就顯得開發機不夠力。

一般企業內部會自行架設 Jenkins CI 或 GitLab CI 等服務,把建置 images 的工作移至 build server 上。

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

Docker Hub 是什麼?

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

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

  • Docker Hub: https://hub.docker.com/r/chusiang/vim-and-vi-mode/

  • Galaxy: https://galaxy.ansible.com/chusiang/vim-and-vi-mode/

  • GitHub: https://github.com/chusiang/vim-and-vi-mode.ansible.role/

目前支援的 Linux 發行版本有:

  • ubuntu14.04, lastest

  • ubuntu16.04

  • debian7

  • debian8

  • centos6

  • centos7

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

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

  1. 登入 Docker Hub。

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

  1. Type:依 branch 或 tag 進行建置。

  2. Name:設置 branch 和 tag 的名稱。

  3. Dockerfile Location:Dockerfile 的存放路徑。

  4. Docker Tag Name:設置 Docker tag 名稱。

  5. 在還末推送提交 (push commit) 之前,可先藉由右方的 Trigger 進行手動 build image。

以上就是 Docker Hub 的 Auto-build 設置。現在我們除了可以用一份 Ansible Roles 進行組態設定,還可以從 Docker Hub 取得 build 好的 Docker image,真是一舉兩得啊!

後語

相關連結

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

點擊右上角的 Create (建立),並點擊 Create Automated Build (自動建置)。

選擇 GitHub。

找到要 Auto-build 的 GitHub repository。

選擇好 repository 後,可以在 Name 一欄設定名稱。

進入 Build Settings 頁面設置 build image 相關設定。

在 Build Details 頁面裡可以觀看建置狀態。

在 Tags 頁面可以看到這個 image 有哪些 tag 可以用。

在 Dockerfile 頁面可以看到內容與上章介紹的雷同。

現在,我們可以從 Docker Pull Command 取得下載 image 的指令,並可從 Source Repository 取得原始碼。

自從有了這些 Docker images,不管是自己要跨 Linux 平台測環境,還是幫 社群成員的 vimrc 除錯都有很大的幫助呢!

Docker Hub
Vim Taiwan User Group
Docker Hub | Docker
Docker Hub |《Docker —— 從入門到實踐》正體中文版
28. 怎麼混用 Ansible 建置 Docker image?
automate_with_ansible_practice-32.jpg
2016-12-29-ansible-docker-hub-0.png
2016-12-29-ansible-docker-hub-1.png
2016-12-29-ansible-docker-hub-2.png
2016-12-29-ansible-docker-hub-3.png
2016-12-29-ansible-docker-hub-4.png
2016-12-29-ansible-docker-hub-6.png
2016-12-29-ansible-docker-hub-7.png
2016-12-29-ansible-docker-hub-8.png
2016-12-29-ansible-docker-hub-9.png
2016-12-29-ansible-docker-hub-5.png