GitLab将控制配置项的规则从only/except更改为规则,这是GitLab 13.4版本引入的新功能。这个新的规则功能提供了更灵活和可扩展的配置选项控制方式。
替代方案是使用规则(rules)关键字来定义配置项的条件。规则是一个包含多个条件的列表,每个条件都可以包含一个或多个键值对。每个规则都会按顺序进行评估,直到找到匹配的规则为止。如果没有规则匹配,则使用默认配置。
以下是一个示例配置,展示了如何使用规则来替代only/except:
job:
script:
- echo "This is a job"
rules:
- exists:
- Dockerfile
changes:
- Dockerfile
when: always
- exists:
- README.md
changes:
- README.md
when: on_success
- exists:
- .gitlab-ci.yml
changes:
- .gitlab-ci.yml
when: manual
- exists:
- app/**/*.rb
changes:
- app/**/*.rb
when: never
- exists:
- config/**/*.yml
changes:
- config/**/*.yml
when: delayed
在上面的示例中,根据不同的条件,定义了不同的规则。每个规则都包含一个exists条件和一个changes条件,以及一个when关键字来指定触发该规则的时机。根据文件的存在性和变更情况,可以触发不同的规则。
这个新的规则功能使得配置项的控制更加灵活和可读性更高。它可以根据项目的需求和特定的条件来定义不同的行为。更多关于规则的详细信息可以参考GitLab官方文档。
对于GitLab的用户,推荐使用GitLab CI/CD来管理和自动化构建、测试和部署流程。GitLab CI/CD是一个强大的持续集成和持续交付平台,可以与GitLab无缝集成。它提供了丰富的功能和工具,帮助开发团队更高效地进行软件开发和交付。您可以在腾讯云容器服务中了解更多关于容器化部署的信息,以及如何在腾讯云上使用GitLab CI/CD。
领取专属 10元无门槛券
手把手带您无忧上云