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

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

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

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

Docker

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

Gitlab CE

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

Q&A

受付中

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

fdorike
fdorike

総合スコア18

GitLab

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

Docker

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

Gitlab CE

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

1回答

0グッド

0クリップ

1674閲覧

投稿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を置いてみましたが上手くいきませんでした。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答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

総合スコア1553

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

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

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

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

GitLab

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

Docker

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

Gitlab CE

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