GitLab CI/CD yml-如果创建了新分支,如何将其添加到管道作业中。并排除进一步推动?

GitLab CI/CD yml-如果创建了新分支,如何将其添加到管道作业中。并排除进一步推动?,gitlab,yaml,gitlab-ci,Gitlab,Yaml,Gitlab Ci,在我们的git进程中,我们有hothix进程。这个过程是从master创建一个热修复早午餐,进行更改,然后合并到master 我现在考虑的问题是,如果分支刚刚创建,如何将作业添加到管道中,并从管道中排除,以便进一步推动 创建分支时,我们需要设置自定义环境。创建一个沙箱,推送代码并推送一些测试数据。这仅在创建分支时才需要。在发生更改和推送的情况下,环境是可用的,无需再次构建它。只需构建代码并推送发布标签 我正在尝试这样的事情: job-name: stage: build script:

在我们的git进程中,我们有hothix进程。这个过程是从master创建一个热修复早午餐,进行更改,然后合并到master

我现在考虑的问题是,如果分支刚刚创建,如何将作业添加到管道中,并从管道中排除,以便进一步推动

创建分支时,我们需要设置自定义环境。创建一个沙箱,推送代码并推送一些测试数据。这仅在创建分支时才需要。在发生更改和推送的情况下,环境是可用的,无需再次构建它。只需构建代码并推送发布标签

我正在尝试这样的事情:

job-name:
  stage: build
  script:
    - myScript
  rules:
    - if: '$CI_COMMIT_BRANCH =~ /^hotfix.*/'
      changes:
        - force-app/**/*
      when: never
    - if: '$CI_COMMIT_BRANCH =~ /^hotfix.*/'
      allow_failure: false
      when: manual
当然,它不是作为
变更工作的:
不是
的一部分,如果
策略:

Rules are evaluated in order until a match is found. If a match is found, the attributes are checked to see if the job should be added to the pipeline.

通过检查推送的提交是否是新分支的第一次提交很难实现这种逻辑,因为分支可能是在本地计算机中创建的,并且只在几次提交之后才推送,在这种情况下,推送的提交是该分支的第三次或第十次提交。更可靠的方法是让环境创建作业使用合适的命令检查环境是否已创建,而不是依赖于检查git树。@Lukman,谢谢。关于如何检查环境是否存在的任何建议?取决于您正在创建的环境类型。是新的EKS、ECS、EC2、GCP、AKS等吗?@Lukman,我没那么经验。我说的是GitLab环境。但看起来您是在说,我无法避免运行作业,以了解我的非GitLab环境是否正在运行。我如何理解GitLab环境是打开的,而不运行scrip来排除此作业?