Difficulty: Beginner
Estimated Time: 10 minutes

示範 Docker 在 CircleCI 的持續整合(CI)、持續交付(CD)之應用,以之前的投票微服務課程中的 Vote 服務,修改其 Python 程式來操作,在 CircleCI 建置出 Docker 映像檔,並整合 Docker Compose 建置出開發環境,撰寫 Test Script (docker run、curl,或是其他測試軟體等) ,自動測試並驗證其程式正確性,再發布到 Docker Hub 上。

這練習利用之前的 Docker 官方 Web 投票微服務範例,來示範如何使用 GithubCircleCI 透過 Docker 容器達到軟體持續整合(Continuous Integration))和持續交付(Continuous Delivery), 讓整個微服務架構中的單一容器元件可以自動化建置、測試後,上傳到企業內部的 Docker registry server 存放映像檔,甚至呼叫 Webhook API 來自動部署營運環境。

延伸閱讀:

  1. 此範例的 Github 專案
  2. CircleCI 建置結果
  3. Continuous Delivery中文版
  4. ThoughtWorks 的 CI 介紹
  5. ThoughtWorks 的 CD 介紹

Don’t stop now! The next scenario will only take about 10 minutes to complete.

Docker Compose & CircleCI

Step 1 of 5

複製程式碼

##下載範例程式 首先複製投票範例程式,git clone https://github.com/docker/example-voting-app, 切換到 example-voting-app 目錄,cd example-voting-app, 查看是否包含 Python 語言寫的 vote 目錄,ls -l, 回到 HOME 目錄,cd ~

##建立 Git Repo. 登入到 Github ,在 Repositories 頁面,新增一個 Repo. ,如下圖:

git_new1

輸入專案名稱,circlecidemo,再按下 Create repository 按鈕。

git_name

這樣便建立好一個空的 git 儲存庫,接著複製到本地端, git clone https://github.com/philipz/circlecitest, 進入到 circlecitest 目錄, cd circlecitest

##複製 vote 程式 將 example-voting-app 底下 vote 目錄中的所有內容,複製到 circlecitestcp -R ~/example-voting-app/vote/* ./ , 便完成程式碼儲存庫的設定和配置。