建立 ssh 使用金鑰及免詢問連線
假如我新開一台機器, 除了基本初始化後, 還需要有個執行應用的專門帳號來佈署使用
假如我新開一台機器, 除了基本初始化後, 還需要有個執行應用的專門帳號來佈署使用
下載
1 | cd /github/blog |
修改 _config.yml
將
1 | theme: landscape |
改成
1 | theme: next |
But….
原本是在 Runner 內使用 ssh 直接去做佈署, 但是這樣很沒有效率 失誤率也很高, 所以之後會打算使用 Ansible 來做佈署動作, 不過不管哪一種都是需要使用將GitLab Runner 安裝在宿主主機上, 而不是透過 GitLab Runner in Docker 的這種方式, 因為不管要存取 SSH 金鑰還是鑰呼叫 ansible-playbook 都是直接安裝在宿主主機比較方便啊.
這邊就簡單介紹如何配置跟註冊, 並使用簡單的 shell 來操作遠端機器
事情是這樣的, 原本跑得好好的流水線, 因為資安要求東封西封, 所以就沒辦法從 DockerHub 拉影像檔下來的, 只好把基礎影像檔上傳一份到自己的 Docker Registry 但我們自己的是有權限控制的, 所以當 CI 本身要用的影像檔要下載時就會發生….
1 | Running with gitlab-runner 11.7.0 (8bb608ff) |
Pinpoint 是 Line 背後公司開源的一種 Application Performance Management (APM)
Pinpoint 官網 在這裡
這一篇教你如何架設 Pinpoint Server 來收集應用的資訊
既然程式已經編譯打包好了, 那就需要有個地方交付儲存,
以前是交付 Jar, 但現在都是用 Docker 了, 所以我們交付的完成品就是 Docker Image,
那我們交付的儲存庫一種是用 docker registry 這個官方有出, 一些大公司有做開源也可以直接拿來用,
不過我們本來就有用 Nexus 了, 那直接用 Nexus 來管 docker registry 當然是最方便的不二人選啊.
設定好 Runner 後, 我們就來準備 CI 的腳本啦
我手邊都是 Java 專案, 就以 Maven 打包來說明吧
架設好 Gitlab 後, 我們先來設定前面的 Nginx 跟 SSL, 方便我們使用跟設定, 因為要是用 IP 來註冊 Runner, 萬一有變動還要去改設定檔也是麻煩。
如何用 DockerCompose 快速架設 Nginx
這邊我們會很大量依靠 GitLab 幫忙管理人員帳號 紀錄行為
透過 GitLab Runner 來執行我們的腳本