0

我有三台 Ubuntu 电脑,它们有自己的 GitHub 自托管运行器。其中两个跑步者(在 PC 1 和 PC 2 上)标记为test,第三个(PC 3)标记为production。此外,所有跑步者都被标记为自托管

在 GitHub 上,我有三个分支,devtestproduction。目标是当我将拉取请求合并到测试或生产分支时,所有具有目标标签的运行器都将拉取新版本,然后构建和组合 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