Gitlab有条件地执行阶段

标签 git gitlab gitlab-ci

有 3 个阶段 - 在 .gitlab-ci.yml 中构建、测试和部署。

需要运行每晚回归测试阶段 - nightly :)

这里是相关的.gitlab-ci.yml代码:

stages:
  - build
  - test
  - deploy

build_project:
  stage: build
  script:
    - cd ./some-dir
    - build-script.sh
  except:
  - tags

#Run this only when say variable 'NIGHTLY_TEST == True'. But HOW?
nightly_regression_test_project:
  stage: test
  script:
    - cd ./some-dir
    - execute test-script

每日标记到运行测试阶段是不可取的。

还有其他想法吗?

最佳答案

exceptonly 可以指定将触发它们的变量。

您可以在 .gitlab-ci.yml 中使用以下内容:

build1:
  stage: build
  script:
    - echo "Only when NIGHTLY_TEST is false"
  except:
    variables:
      - $NIGHTLY_TEST 

test1:
  stage: test
  script: 
    - echo "Only when NIGHTLY_TEST is true"
  only:
    variables:
      - $NIGHTLY_TEST 

关于Gitlab有条件地执行阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39988497/

相关文章:

Git filter-branch 说工作树在不脏的时候是脏的

git - 还原 merge 所做的更改

git - 如何从终端或命令行创建 gitlab 项目

ldap - 如何调试Gitlab LDAP身份验证?

Gitlab CI/CD 无法从 .gitlab-ci.yml git push

Git merge 来自特定上游版本的提交

java - 如何知道哪些文件已被修改以修复从 git 提交开始的错误?

git - 如何在 GitLab 中配置导入的存储库路径以删除根文件夹前缀?

php - 将 GitLab CI 变量写入文件

continuous-integration - GitLab CI 和 MsBuild(带测试)