(背景)
GitLab CE を AWS EC2 にインストールして利用しています。
GitLab CE で、マージリクエストした際、
EC2インスタンス(Windows)にコードをデプロイ出来るような
環境を構築しようとしております。
[GitLab CE 環境]
OS : Amazon Linux AMI 2017.09
GitLab : 9.4.3
GitLab Shell : 5.3.1
GitLab Workhorse : v2.3.0
GitLab API : v4
Git : 2.13.0
Ruby : 2.3.3p222
Rails : 4.2.8
postgresql : 9.6.3
gitlab-ci-multi-runner : 9.4.2
.gitlab-ci.yml
stages: - デプロイ Deploy_to_product: stage: デプロイ script: - cd C:\inetpub\document_root - git pull origin master:master only: - master tags: - タグ名
[EC2(Windows) 環境]
Windowsインスタンスには、
GitLab-CI Runner をインストールし、以下のような設定を行っています。
複数台に対して、同じ登録を行っています。
.\gitlab-runner.exe register ^ --non-interactive ^ --url https://xxx.example.com/ ^ --registration-token xxxxxxxx ^ --tag-list タグ名 ^ --description "xxxxxxxxxxx" ^ --executor shell ^ --locked=false
(質問)
デプロイ出来るようには、なったのですが、
デプロイ先のEC2が複数台ある場合、全てのEC2に対してデプロイが動きません。
GitLab CE 管理画面を見ると、各EC2で登録したRunnerが個別に登録されています。
同じ「タグ名」が登録された複数のRunnerが全て実行される、という認識でいましたが、
試してみると、同じ「タグ名」の最後に登録されたRunnerだけが実行されました。
基本的な所が理解できていないかもしれませんが、
上記のような動きになるという理解は、正しいのでしょうか?
また、どのようにしたら、希望する動作にできるでしょうか?
何かお気付きの点などがあれば、教えていただけますと幸いです。
よろしくお願いいたします。
あなたの回答
tips
プレビュー