0

独自の GitHub セルフホスト ランナーを持つ 3 つの Ubuntu PC があります。2 つのランナー (PC 1 および PC 2) にはtestというラベルが付けられ、3 番目 (PC 3) にはproductionというラベルが付けられています。さらに、すべてのランナーにはセルフホストのラベルが付けられます

GitHub にはdevtestproductionの 3 つのブランチがあります。目標は、プル リクエストをテスト ブランチまたは本番ブランチにマージすると、対象のラベルを持つすべてのランナーが新しいバージョンをプルし、Docker イメージ/コンテナーをビルドして構成することです。

この手順は PC 1 と PC 3 で機能し、テスト ブランチと運用ブランチでそれぞれマージします。ただし、テスト プル リクエストをマージした直後に PC 1 が「テスト ジョブ」を実行すると、PC 2 のランナーはアイドル状態のままになります。

PC 1 と PC2 のランナーのラベルが同じであることを再確認しました。何が間違っているのか、正しく理解していないのでしょうか? PC ごとにワークフロー ファイルを作成する必要がありますか?

ワークフロー ファイルtest.ymlは次のとおりです。

name: Test

on:
  # Triggers the workflow on push to test branch.
  push:
    branches: [ test ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

  build:
    runs-on: [self-hosted, test]

      - uses: actions/checkout@v2
        with:
          ref: test
      
      # Pulling latest code from Github
      - name: Pull, build, compose up
        run: |
            docker build -f Dockerfile -t test-1 .
            docker-compose up -d
4

0 に答える 0