我採用 Gitlab Runner 運行在 Container,並使用 Docker 當 Executor,為每個 CI Job 建立一個乾淨的 Container 來執行 Docker 命令的做法。
以下我會展示從 0 開始設置的各個步驟,包含 gitlab-ci.yml 開始創建 & 指令的調整、Docker 版 Gitlab Runner 的 create & register 方式,Docker in Docker 與 Docker Socket 兩種的做法我都會提到,以及過程中的一些 error 問題排解。