Photo Credit: freddie boy via Compfight cc

原則上,山姆鍋會盡可能運用現有的雲端服務在像是持續整合這種系統上。由於評估的雲端服務不符合需要,山姆鍋使用 Jenkins 著手建構了符合自己需要的雲端持續整合系統,並且將這些流程自動化,讓您也可以快速建立一個類似的系統。

設計目標

  1. 使用叢集架構,主 (master) 服務器只負責工作管理與分配。
  2. 可按照需要增加與減少從屬 (slave) 服務器。
  3. 與公司的身分認證系統整合(Google Apps for Business)。
  4. 隨時可以建立與拆除整套系統。
  5. 建構的工作 (jobs) 都透過 Puppet 統一管理。

準備動作

您的測試機需要已經安裝並設定好下列軟體:

  1. Vagrant
  2. VirtualBox
  3. DigitalOcean Vagrant Provider(如果您需要部署到 DigitalOcean)

相關程式碼

文章所使用的 Puppet 以及 Vagrant 程式碼可以在 這裏 取得。 您如果有興趣可以先行觀看,山姆鍋在下篇文章會加以說明。

結語

這裡設計的方案主要是針對使用 Google Apps for Business 的企業,藉由認證整合,減少帳戶管理的麻煩。因為可快速建立,所以適合在每個團隊 / 專案需要使用自己的持續整合系統的情況。