我有三台 Ubuntu 电脑,它们有自己的 GitHub 自托管运行器。其中两个跑步者(在 PC 1 和 PC 2 上)标记为test,第三个(PC 3)标记为production。此外,所有跑步者都被标记为自托管
在 GitHub 上,我有三个分支,dev、test和production。目标是当我将拉取请求合并到测试或生产分支时,所有具有目标标签的运行器都将拉取新版本,然后构建和组合 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