GitLabとRunner (Docker) をDocker Composeで起動して、ゆるーくCI/CDパイプラインを試そうとしたときに出たエラー。
その原因と対応方法のメモ。
このメッセージが出た環境
このメッセージが出た環境。
赤字部分が今回の原因に関連するところ。
- Docker Composeを使ってGitLabとRunner (Docker) を起動している。
- DockerホストはAWS EC2上の適当なUbuntu。
- プライベートCAでGitLabの証明書を発行し、それを使っている。
- GitLabの
external_url
はgitlab.example.com。
メッセージ全文
fatal: unable to access 'https://gitlab.example.com/privategroup01/privatepj01.git/': SSL: no alternative certificate subject name matches target host name 'gitlab.example.com'
原因
プライベートCAで発行したGitLabの証明書のSANs (サブジェクト代替名) にexternal_url
のgitlab.example.comが入っていなかった。
解決方法
メッセージに出ていたホスト名 (gitlab.example.com) をGitLabの証明書のSANsに追加して、発行しなおし。
発行しなおしたらそれをGitLab側に適用する。
コマンド gitlab-ctl reconfigure
で設定反映させるか、もしくはコンテナ再起動する。
以上。