CI/CD 環境建置筆記 - 前言<目的>

現有架構

現有架構

版本控制

  1. Github
  2. Openshift

Openshift 是實際線上服務所在,也可以稱作是我的產品(Product),
Github 則是單純的負責版本控制。

開發流程

作為獨立開發的專案,這個網站只是我很單純的自我介紹、練習(KATA)、學習與分享的集散地。
原本的開發流程很單純,如上圖。完成的 CODE 同步到 GITHUB 後也同步上 Openshift ,
這樣的流程雖然簡單,但是每次都要人工執行,因為其執行順序,其實都隱含著風險,
例如:上錯版本或是產品未進版控等等…,
而當進一步想要執行建置、編譯 、套件管理、測試、分析與產生報表時,
產品與源碼將會產生差異(ex:產品會包含壓縮的檔案而源碼則是未壓縮的檔案)

缺點

  1. 在這樣的架構上容易不小心發佈還在開發中的功能。
  2. Prod 的來源就是程式碼,無法確保與版控一致,如此就喪失版控的用意。
  3. 難以擴展其他功能,如:建置、編譯 、套件管理、測試、分析與產生報表

目標

目標
如圖所示,
第一步 Jenkins 要將原始碼自 Github pull 下來
第二到第 N 步 Jenkins 要執行建置、測試、coding style 的檢查、壓縮…等等。
最後一步 Jenkins 將會將程式碼發佈到 Openshift 上面。
中間的步驟先跳過,之後再一一補上。
所以第一目標很簡單,
從 Github Pull 再 Push 到 Openshift。

(fin)

Please enable JavaScript to view the Gitalk. :D
Please enable JavaScript to view the LikeCoin. :P
Please enable JavaScript to view the LikeCoin. :P