GitLab CI / CD跳过合并请求更新版本

时间:2020-08-18 18:11:04

标签: continuous-integration gitlab yaml continuous-deployment

我有一个具有2个不同构建阶段的GitLab管道。一个名为ci-build的文件,它仅构建代码(.Net Web应用程序),另一个名为build-and-package-app的文件,该应用程序将应用程序构建并打包到一个zip文件中,以供上载到其他地方。这些旨在用于不同的情况。 Ci-build仅适用于常规分支提交,以便开发人员在分支机构工作时保持诚实。 Build-and-package-app用于合并请求和实际部署。

我要注意的是,如果正在进行MR,则任何更改(即解决代码审查中的注释)都会启动正常的推送和MR构建。正常的推送不意识到现有的MR,因此我不能依靠规则中的CI_MERGE_REQUEST_TARGET_BRANCH_NAME

在这种情况下,是否可以跳过正常的推送构建?我看不到其他任何可以解决该问题的环境变量,但是我对GitLab还是很陌生,所以我可能会错过一些显而易见的内容。

ci-build:
  stage: ci-build
  tags:
    - win2016
  script:
    - echo "Building MySolution.sln"
    - echo "NUGET RESTORE:"
    - ./Build/Lib/nuget.exe restore '.\Web Apps\MySolution.sln'
    - MSBuild.exe '.\Web Apps\MySolution.sln' /t:Build /p:Configuration=Release

  rules:
    - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "paas" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop"'
      when: never
    - if: '$CI_COMMIT_BRANCH != "master" || $CI_COMMIT_BRANCH != "paas" || $CI_COMMIT_BRANCH != "develop"'
      when: on_success

0 个答案:

没有答案
相关问题