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 |
||
---|---|---|
.. | ||
administration | ||
api | ||
ci | ||
customization | ||
development | ||
gitlab-basics | ||
hooks | ||
incoming_email | ||
install | ||
integration | ||
legal | ||
logs | ||
markdown | ||
migrate_ci_to_ce | ||
monitoring/performance | ||
operations | ||
permissions | ||
profile | ||
project_services | ||
public_access | ||
raketasks | ||
release | ||
security | ||
ssh | ||
system_hooks | ||
update | ||
web_hooks | ||
workflow | ||
README.md |
Documentation
User documentation
- API Automate GitLab via a simple and powerful API.
- CI
- GitLab as OAuth2 authentication service provider. It allows you to login to other applications from GitLab.
- GitLab Basics Find step by step how to start working on your commandline and on GitLab.
- Importing to GitLab.
- Markdown GitLab's advanced formatting system.
- Migrating from SVN Convert a SVN repository to Git and GitLab
- Permissions Learn what each role in a project (external/guest/reporter/developer/master/owner) can do.
- Profile Settings
- Project Services Integrate a project with external services, such as CI and chat.
- Public access Learn how you can allow public and internal access to projects.
- SSH Setup your ssh keys and deploy keys for secure access to your projects.
- Webhooks Let GitLab notify you when new code has been pushed to your project.
- Workflow Using GitLab functionality and importing projects from GitHub and SVN.
Administrator documentation
- Custom git hooks Custom git hooks (on the filesystem) for when webhooks aren't enough.
- Install Requirements, directory structures and installation from source.
- Restart GitLab Learn how to restart GitLab and its components
- Integration How to integrate with systems such as JIRA, Redmine, LDAP and Twitter.
- Issue closing Customize how to close an issue from commit messages.
- Libravatar Use Libravatar for user avatars.
- Log system Log system.
- Environment Variables to configure GitLab.
- Operations Keeping GitLab up and running
- Raketasks Backups, maintenance, automatic webhook setup and the importing of projects.
- Security Learn what you can do to further secure your GitLab instance.
- System hooks Notifications when users, projects and keys are changed.
- Update Update guides to upgrade your installation.
- Welcome message Add a custom welcome message to the sign-in page.
- Reply by email Allow users to comment on issues and merge requests by replying to notification emails.
- Migrate GitLab CI to CE/EE Follow this guide to migrate your existing GitLab CI data to GitLab CE/EE.
- Git LFS configuration
- Housekeeping Keep your Git repository tidy and fast.
- GitLab Performance Monitoring Configure GitLab and InfluxDB for measuring performance metrics
Contributor documentation
- Documentation styleguide Use this styleguide if you are contributing to documentation.
- Development Explains the architecture and the guidelines for shell commands.
- Legal Contributor license agreements.
- Release How to make the monthly and security releases.