2

Gitlab を実行しているサーバーがあります。住所が であるとしましょうhttps://gitlab.mydomain.com

今私が達成したいのは、継続的インテグレーション システムをインストールすることです。私は Gitlab を使用しているので、Gitlab CI を選びました。より自然な方法だと感じたからです。そこで、Docker リポジトリにアクセスすると、このイメージが見つかりました。

そのため、イメージを実行して、次のコンテナを作成します

docker run --restart=always -d -p 9000:9000 -e GITLAB_URLS="https://gitlab.mydomain.com" anapsix/gitlab-ci

起動するのに 1 分ほど待つと、URL から CI にアクセスできるようになりましたhttp://gitlab.mydomain.com:9000。ここまでは順調ですね。

CI にログインすると、次のメッセージが表示されます。

Now you need Runners to process your builds.

Docker Hub に戻ると、この別のイメージが見つかります。どうやらこのイメージを起動するには、インタラクティブに実行する必要があります。指示に従うと、構成ファイルが作成されます。

mkdir -p /opt/gitlab-ci-runner
docker run --name gitlab-ci-runner -it --rm -v /opt/gitlab-ci-runner:/home/gitlab_ci_runner/data sameersbn/gitlab-ci-runner:5.0.0-1 app:setup

インタラクティブなセットアップでは、必要な適切なデータを求められます。

Please enter the gitlab-ci coordinator URL (e.g. http://gitlab-ci.org:3000/ )
http://gitlab.mydomain.com:9000/
Please enter the gitlab-ci token for this runner: 
12345678901234567890
Registering runner with registration token: 12345678901234567890, url: http://gitlab.mydomain.com:9000/.
Runner token: aaaaaabbbbbbcccccccdddddd
Runner registered successfully. Feel free to start it!

に行くとhttp://gitlab.mydomain:9000/admin/runners、やったー、ランナーがステージに登場。

すべてがうまく機能しているように見えますが、ここで問題が発生します

更新または何らかの理由でマシンを再起動すると、ランナーはもう存在しません。--restart=alwaysランナーのイメージを実行するときにコマンドに追加することもできますが、これは次の理由で問題になります。

  1. セットアップはインタラクティブなので、ランナーを登録するためのトークンを手動で入力する必要があります
  2. Gitlab CI を含むコンテナーが再実行されるたびに、新しいランナーを登録するためのトークンが異なります。

どうすればこの問題を解決できますか?

4

1 に答える 1

0

私はあなたを正しい方向に向ける方法を持っていますが、私はそれを自分で作ろうとしています.

私はcoreOS + dockerを使用して、あなたがやろうとしていることを正確に実行しようとしています.coreOSでは、マシンを再起動するたびにCIを開始するサービスをセットアップできます(gitlabなども同様です)私の問題は、同じインストールを作成しようとしています自動。

掘り下げた後、これを見つけました:https://registry.hub.docker.com/u/ubergarm/gitlab-ci-runner/

このドキュメントでは、次の 2 つの方法で実行できると述べています。

  • 1-認証情報を含む .dockercfg ファイルを /root ディレクトリにマウントします

  • 2-次の情報を使用してコンテナーを開始します。

  • -e CI_SERVER_URL= https://my.ciserver.com \

  • -e REGISTRATION_TOKEN=12345678901234567890 \

つまり、構成でCIを自動起動するようにセットアップできます.2日間これを試してみましたが、うまくいけば方法を教えてください=(

于 2014-12-02T17:07:11.957 に答える