fc6ee35928
CI: Add 'triggers' keyword to 'only' and 'except' lists to allow control over when triggers cause builds to run Currently, the `only` and `except` keywords in `.gitlab-ci.yml` only accept ref names or the special `branches` and `tags` keywords. However, these are primarily useful when controlling how repository activity affects the creation of builds. In my case, instead of building on every commit, I'd like to use the following logic: - If the repository is tagged, do a build. - Any other normal commits should not cause a build. - If a build is triggered via the API, always create one for the specified ref. From what I can tell, this isn't possible via the existing YAML syntax. In this MR, I introduce a new keyword `triggers` that goes along with `branches` and `tags`. I can implement the logic above using the following job configuration: ```yaml only: - tags - triggers ``` I updated the tests and documentation to reflect this and everything seems to pass. See merge request !3230 |
||
---|---|---|
.. | ||
api | ||
build_artifacts | ||
deployment | ||
docker | ||
examples | ||
img | ||
permissions | ||
quick_start | ||
runners | ||
services | ||
ssh_keys | ||
triggers | ||
variables | ||
yaml | ||
enable_or_disable_ci.md | ||
README.md |
GitLab CI Documentation
CI User documentation
- Get started with GitLab CI
- CI examples for various languages
- Learn how to enable or disable GitLab CI
- Learn how
.gitlab-ci.yml
works - Configure a Runner, the application that runs your builds
- Use Docker images with GitLab Runner
- Use CI to build Docker images
- Use variables in your
.gitlab-ci.yml
- Use SSH keys in your build environment
- Trigger builds through the API
- Build artifacts
- User permissions
- API
- CI services (linked docker containers)