原本是在 Runner 內使用 ssh 直接去做佈署, 但是這樣很沒有效率 失誤率也很高, 所以之後會打算使用 Ansible 來做佈署動作, 不過不管哪一種都是需要使用將GitLab Runner 安裝在宿主主機上, 而不是透過 GitLab Runner in Docker 的這種方式, 因為不管要存取 SSH 金鑰還是鑰呼叫 ansible-playbook 都是直接安裝在宿主主機比較方便啊.

這邊就簡單介紹如何配置跟註冊, 並使用簡單的 shell 來操作遠端機器

Read more »

事情是這樣的, 原本跑得好好的流水線, 因為資安要求東封西封, 所以就沒辦法從 DockerHub 拉影像檔下來的, 只好把基礎影像檔上傳一份到自己的 Docker Registry 但我們自己的是有權限控制的, 所以當 CI 本身要用的影像檔要下載時就會發生….

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Running with gitlab-runner 11.7.0 (8bb608ff)
on docker-runner ckf36eMz
Using Docker executor with image docker-registry.samchu.com/node:10-alpine ...
Pulling docker image docker-registry.samchu.com/node:10-alpine ...
ERROR: Preparation failed: Error response from daemon: Get https://docker-registry.samchu.com/v2/node/manifests/10-alpine: no basic auth credentials (executor_docker.go:168:0s)
Will be retried in 3s ...
Using Docker executor with image docker-registry.samchu.com/node:10-alpine ...
Pulling docker image docker-registry.samchu.com/node:10-alpine ...
ERROR: Preparation failed: Error response from daemon: Get https://docker-registry.samchu.com/v2/node/manifests/10-alpine: no basic auth credentials (executor_docker.go:168:0s)
Will be retried in 3s ...
Using Docker executor with image docker-registry.samchu.com/node:10-alpine ...
Pulling docker image docker-registry.samchu.com/node:10-alpine ...
ERROR: Preparation failed: Error response from daemon: Get https://docker-registry.samchu.com/v2/node/manifests/10-alpine: no basic auth credentials (executor_docker.go:168:0s)
Will be retried in 3s ...
ERROR: Job failed (system failure): Error response from daemon: Get https://docker-registry.samchu.com/v2/node/manifests/10-alpine: no basic auth credentials (executor_docker.go:168:0s)
Read more »

既然程式已經編譯打包好了, 那就需要有個地方交付儲存,
以前是交付 Jar, 但現在都是用 Docker 了, 所以我們交付的完成品就是 Docker Image,
那我們交付的儲存庫一種是用 docker registry 這個官方有出, 一些大公司有做開源也可以直接拿來用,
不過我們本來就有用 Nexus 了, 那直接用 Nexus 來管 docker registry 當然是最方便的不二人選啊.

Read more »

架設好 Gitlab 後, 我們先來設定前面的 Nginx 跟 SSL, 方便我們使用跟設定, 因為要是用 IP 來註冊 Runner, 萬一有變動還要去改設定檔也是麻煩。

如何用 DockerCompose 快速架設 Nginx

Read more »

這邊我們會很大量依靠 GitLab 幫忙管理人員帳號 紀錄行為
透過 GitLab Runner 來執行我們的腳本

Read more »

最近搞了好一陣子自動化, 接下來會整理整個 CI CD 怎麼處理

首先你要先初始化幾台基礎服務, 首先就是 初始化作業系統XD

Read more »
0%