ろーてくxyz blog

ローテクを駆使してIT関係でサヴァイヴしようとする人による備忘録

Gitlab runnerをregistをしようとした時のエラーを回避する

まえおき

何が引っかかったかというと、Gitlabをいわゆるオレオレ証明書を使用した上で、Gitlab-runnerをregistする際の話しです。
まぁ今時Self-Signed Certificateなんてって感じですが、もし似たような境遇の方がいましたら。

エラー内容

どんな感じかと言うと、registerをしていきますと、

# gitlab-runner register   
Runtime platform                                    arch=amd64 os=linux pid=4618 revision=0e5417a3 version=12.0.1
Running in system-mode.                            
                                                   
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
https://hogehoge.hoge/gitlab/ 
Please enter the gitlab-ci token for this runner:
とーくん
Please enter the gitlab-ci description for this runner:
[hostname]: 
Please enter the gitlab-ci tags for this runner (comma separated):
test
ERROR: Registering runner... failed                 runner=fugafuga status=couldn't execute POST against https://hogehoge.hoge/gitlab/api/v4/runners: Post https://hogehoge.hoge/gitlab/api/v4/runners: x509: certificate signed by unknown authority
PANIC: Failed to register this runner. Perhaps you are having network problems 

x509: certificate signed by unknown authorityというので怒られる。

Gitlabで使っている証明書を配置するだけ

回避方法等は公式docsにも記載されているのですが docs.gitlab.com

Gitlab-runnerとなるホスト上の/etc/gitlab-runner/certs/にGitlabのnginx等で使用している証明書を[gitlabを運用しているFQDN].crtとして配置します。
ここのログ例でいくと、hogehoge.hoge.crtみたいな感じ。
IPでの運用している方は、10.10.10.10.crtみたいな形でいけます。
もちろんPortは不要です。

再度registを試します。

# gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=4794 revision=0e5417a3 version=12.0.1
Running in system-mode.                            
                                                   
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
https://hogehoge.hoge/gitlab/ 
Please enter the gitlab-ci token for this runner:
とーくん
Please enter the gitlab-ci description for this runner:
[hostname]: 
Please enter the gitlab-ci tags for this runner (comma separated):
test
Registering runner... succeeded                     runner=fugafuga
Please enter the executor: shell, virtualbox, docker-ssh+machine, kubernetes, docker, docker-ssh, parallels, ssh, docker+machine:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 

Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
無事successfullyになりましたとさ。

今回は以上