Rails 部署實踐 - 使用 GitLab CI 自動化建置
自動化建置在軟體業界中已經被使用非常多年,然而許多工具並不一定容易入門,其中 GitLab CI 就屬於相對容易入門的類型,我們可以使用 YAML 格式去撰寫設定。雖然很好上手,但是在功能跟彈性上就比其他工具相對的缺少一些。
自動化建置在軟體業界中已經被使用非常多年,然而許多工具並不一定容易入門,其中 GitLab CI 就屬於相對容易入門的類型,我們可以使用 YAML 格式去撰寫設定。雖然很好上手,但是在功能跟彈性上就比其他工具相對的缺少一些。
這次第四屆的 Astro Camp 有學員嘗試做了 GitHub 的架構,也就是能夠在遠端建立 Git 專案並且能夠在本機上傳檔案。
不過在和當助教的同事跟學員聊到 git
使用者可以登入伺服器進行任意操作的安全性問題時,在前陣子的一些測試發現實際上我自己的假設(特製的 SSH Server)是有問題的,而這個解決方法實際上也比我們想像的還容易。
之前都在偷懶沒有寫網誌,剛好這次端午連假比較長。 所以想做測試跟實驗的部分都做完了,就來寫一篇關於 GitLab CI 整合的經驗分享。
文章中大致上會涵蓋這些部分:
文章會以我在建構 CI 環境的過程中來講解,一些安裝跟配置的部分會直接跳過。
這標題超級長的說(崩潰
最近因為有實習生要來,所以把老爸公司設定好 GitLab 和 Gitlba-CI 來作為內部的版本本控制和自動化測試環境。 不過原本規劃的 Staging 環境也是在這檯主機上(當初就很淡定把記憶體和處理器加高,因為我會狂開 VM XD)但是會有 SSH 權限上的問題,原本想利用 Git 的 Hook 之類的來處理,但是感覺似乎不太好。
剛好這次看到 GitLab / GitLab CI 的介紹文,我又再次嘗試安裝,過程上順利、簡單很多。 不過上次不順利肯定是我把整個環境裝在 NAS 裡面的關係 XDD
從我建好 GitLab / GitLab CI 到設定 Capistrano 到自動部署,其實花費不少時間,而且有很多「差點忘記」的部分,因此決定來寫一篇文章做筆記!