質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.39%
GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Gitlab CE

GitLabのオープンソース版で、Community Editionのこと。 deb、rpmパッケージで提供されており、比較的簡単にインストールすることができます。

Q&A

1回答

4045閲覧

gitlab-runnerをregistする時にエラーがでてしまう

fdorike

総合スコア21

GitLab

GitLabは Gitoliteをブラウザから管理できるようにする Rubyアプリケーションで、 GitHubのようなサービスをクローズドな環境に独自で構築できるように 公開されたものです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Gitlab CE

GitLabのオープンソース版で、Community Editionのこと。 deb、rpmパッケージで提供されており、比較的簡単にインストールすることができます。

0グッド

0クリップ

投稿2021/09/30 06:35

編集2021/09/30 08:08

前提・実現したいこと

Docker Desktop for Windowsを利用しています。

Docker上にgitlabを構築後、gitlab-runnerをインストールしました。

下記のコマンドを入力してgitlab-runnerを登録する際に、エラーがでてしまいます。
docker exec -it gitlab-runner gitlab-runner register

発生している問題・エラーメッセージ

PANIC: Failed to register the runner. You may be having network problems.

試したこと

https://blog.rotek.xyz/entry/2019/08/08/165955
https://qiita.com/niiku-y/items/27fd113d68b5e4cefb4c
を参考にしました。

Gitlab-runnerとなるホスト上の/etc/gitlab-runner/cert/に
gitlabのサーバからもってきたcrtファイルを置く必要があることは
分かりました。

しかし、記事が古いことにより、https://blog.rotek.xyz/entry/2019/08/08/165955の
「Gitlabで使っている証明書を配置するだけ」の参照URLや、
https://qiita.com/niiku-y/items/27fd113d68b5e4cefb4cの
「自己署名証明書の時のエラーへの対処」の参照URLがNot Foundになっており具体的なやり方がわかりませんでした。

両記事で言及している「gitlabのサーバからもってきたcrtファイル」または「Gitlabのnginx等で使用している証明書」はどこにあるのでしょうか?
解決方法が分かる方がいたらご教授お願い致します。

また、追加情報が必要な場合、ご提示をお願い致します。

#追記
/etc/ssl/certsにあるca-certificates.crtを置いてみましたが上手くいきませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

おそらく以前の投稿のような感じでgitlabを構築していると思います。

まず,external_url(http://gitlab.example.com:8929)
の中に記述しているgitlab.example.comというホスト名を解決できないといけません。
gtilabのコンテナの8929番ポートはホストの8929番ホートにつながっているので,
ホストのIPとgitlab.example.comをひもづける必要があります。

一番簡単なのが,hostsファイルに記述する方法です。

次にgitlab-runnerコンテナからgitlab.example.comのIPを解決する必要があります。
これにはdockerのネットワークのホスト側のIPをgitlab.example.comに割り合てる必要があります。
ホストがwindowsだとネットワークアダプタがdocker用に追加されていると思うので,
ipconfigコマンドなどで,docker用ネットワーク用のホスト側のIPを見つけて,
これをgitlab.example.comに紐づけます。

私の環境だと

ホストIP(dockerネットワーク): 172.17.0.1
ホストIP(実ネットワーク): 192.16.x.xxx

なので,hostsファイルを

192.16.x.xxx gitlab.example.com 172.17.0.1 gitlab.example.com

のように記述しておくと,gitlab-runnerのコンテナからでもgitlab.example.comが解決するようになると思います。

なお,Windowsではhostsファイルは通常C:\Windows\System32\Drivers\etc\hostsにあり,編集には管理者権限が必要です。
一度notepadなどを管理者権限で起動してそこから開く等をするといいでしょう。

そして,http://gitlab.example.com:8929(external_url)に対して登録してみて下さい。

上のような設定をすると,hostのブラウザからでもhttp://gitlab.example.com:8929でアクセスできます。

といいつつ上の内容はLinuxのubuntu server上で構築した時の話なので,Windowsではhostsの設定を
コンテナ型で引き継がない可能性があるので話半分で聞いて下さい。

投稿2021/11/20 09:08

ujimushi_sradjp

総合スコア2138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.39%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問