【问题标题】:GitLab CI Pipeline not triggered for events on default branch未针对默认分支上的事件触发 GitLab CI 管道
【发布时间】:2021-03-30 15:21:55
【问题描述】:

我的 GitLab 存储库中有两个分支(uat 和生产)。两个部署作业旨在将分支部署到特定环境。有两个 gitlab-ci.yml 文件,每个分支一个(带有该分支的配置),生产是我的默认分支。 作业应该仅在 dir/ 中的文件发生更改时才运行,而不是在预定管道中运行。

问题: UAT 的部署作业按预期工作:如果我直接推送到分支或接受合并请求,它就会运行。但是,虽然除了分支没有区别,但生产的部署作业不会在任何事件上触发。

问题:你知道我是否误解了某些东西,有什么办法可以解决这个问题?

谢谢!

  • production 中的 gitlab-ci.yml
deploy_to_production:
  only: 
    refs:
      - production
    changes:
      - dir/*
  except: 
    - schedules

script:
    # upload to prod

uat中的gitlab-ci.yml

deploy_to_uat:
  only: 
    refs:
      - uat
    changes:
      - dir/*
  except: 
    - schedules

script:
    # upload to uat

【问题讨论】:

    标签: gitlab yaml gitlab-ci


    【解决方案1】:

    你的文件中script: 之前有那些空行吗?

    这将在default 下定义script,因为它与工作无关。

    default:
      script:
        # upload to uat
    

    它只运行 uat 的原因是在第二个引用上第一个被覆盖。您可以在 CI/CD/Editor 下的项目页面上的 gitlab 上查看此内容。

    这里可以查看合并后的最终yaml:

    【讨论】:

      猜你喜欢
      • 2020-02-23
      • 2022-01-16
      • 1970-01-01
      • 2020-06-15
      • 2022-11-15
      • 1970-01-01
      • 1970-01-01
      • 2020-03-06
      • 2021-11-14
      相关资源
      最近更新 更多