gitlab-ci-runner - 一个项目的两个 gitlab-ci runner

标签 gitlab-ci-runner

我曾经在 github 上有一个项目 travis和一个 appveyor已配置集成服务。因此,我能够确保我的项目在 OSX 和 Windows 平台上都可以正常编译。

我现在正在使用 gitlab 和 ci runners。我配置了两个运行者:

  • OSX 机器上的一个
  • Windows 机器上的一个

  • 不幸的是,当我在我的项目设置 > CI/CD > Runners 设置中添加两个运行程序时,只有一个在推送时被触发(OSX 之一)。

    如果我禁用 OSX 运行程序,则可以很好地触发 Windows 运行程序。

    最佳答案

    一项工作仅由一名运行者运行。

    我猜你希望你的工作运行两次

  • 在您的 Windows 转轮上
  • 在你的 osx runner

  • 这样做
  • 标记您的运行者(例如 winmac)
  • 在同一阶段复制您的工作,并为您的 Windows 运行器工作添加 win标记并为您的 mac runner 作业添加 mac标签。

  • 这应该注意两个运行器都将在下一个管道中运行作业。
    stages:
      - build
    
    mac_build:
      stage: build
      tags:
        - mac
      script:
        - something ...
    
    win_build:
      stage: build
      tags:
        - win
      script:
        - something ...
    

    关于gitlab-ci-runner - 一个项目的两个 gitlab-ci runner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49198663/

    相关文章:

    kubernetes - 在 gitlab-runner 环境中使用服务帐户 token 时 kubectl 未经授权

    docker - 容器名称已被容器使用 - gitlab ci

    docker - Gitlab-CI:绑定(bind)挂载失败

    gitlab-ci - 如何保存用于在 Gitlab CI 中执行构建的 Docker 容器?

    deployment - 如何通过k8s gitlab-ci Runner将某些东西部署到k8s集群?

    使用 dotnet 隔离运行时的 Azure 函数不会运行,并且在 Azure 门户中不可见

    docker - GitLab CI 对 Docker 构建作业的无效参数

    docker - gitlab在docker内部运行docker

    gitlab-ci - Gitlab CI - $CI_COMMIT_TAG 为空

    Docker 服务未在 Ansible 中启动