COSCUP 2017 - Ansible & GitLab CI/CD workshop 101
今年(2017)的 COSCUP 採用與過往不同的徵稿方式,而 DevOps Taiwan 社群也共襄盛舉貢獻了三場分享。 縱然我們知道談到 DevOps 時,不該只談論其中的技術層面,更應該要包含文化層面的議題,不過在這種技術力爆表的場子,就請原諒我們還是會以技術為主要的分享內容。 (不過這麼說有失偏頗,因為 COSCUP 2017 還是有像是「如何將女友培養成開源貢獻者」這種軟性的主題,因此只要有心,還是能夠分享非技術主題的。) DevOps Taiwan 這次由三位講者,分別負責一場分享,首先我們邀請了部落格「小城故事不多-科技部」的蔡宗城(smalltown)為我們分享「Infrastructure As Code」。 第二位講者則是大家從小看到大的部落格「凍仁的筆記」其主人凍仁翔,為我們分享「DevOps 人一定要知道的 Ansible & GitLab CI 持續交付技巧」。 最後,則由小弟我延續凍仁翔的題目,帶來一場簡易的 Workshop 「Ansible & GitLab CI/CD workshop 101」。 Ansible & GitLab CI/CD workshop 101 這場 Workshop 在構思時,預定的難度是 101 的程度,但實際動手設計內容時發現要講多淺才算是 101?要多複雜才算是 201、301 或更高的難度?有一些難以拿捏,總之就請各位保持著一種開開心心的心情來跟著下面的內容操作練習即可,到底是 101、201、或甚至根本只是幼幼班就先拋在腦後吧(逃)。 回到正題,這場 Workshop 希望能幫助大家藉由實際操作,能夠體驗看看 CI / CD、Automation,以及當我們在談到開發流程的規劃,關於 workflow 或 pipeline 的規劃時可能要注意些什麼? 要注意的是,這個 workshop 的案例只是一個簡單的示範,不同的公司、組織或團隊在規劃 pipeline 時會有各自的考量,因此在實際體驗之後,當你回到自己的團隊時,務必要根據你自身的情況進行規劃,如此才能建構出最適合你團隊的 CI / CD pipeline。 所需工具 本次我們會使用的工具如下: Ansible - 我們會利用 Ansible 撰寫一些簡易的自動化腳本。 Docker Community Edition - 用來運行你自己 CI Runner 與模擬 Web Server。 續上,一台可以跑得動 2-3 個 Container 的主機(可以是你自己的筆電、雲端的 VPS,或其他。),預計會消耗 5 GB 以內的硬碟空間,因為在 Workshop 使用的是個人自建又大又肥的 Container。 GitLab....