Conditional Build Steps in TeamCity
In TeamCity 2020.1, we have introduced a highly demanded feature – conditional build steps. With new execution conditions, you can control whether or not a given build step is executed in every build run, depending on the current environment and parameters.
In this video demonstration we:
- explain how to add an execution condition to a step;
- show how to elevate your building experience by creating custom conditions based on build parameters.
Here is a quick recap of the video:
Adding execution conditions
To add execution conditions to a build step:
- Open the step’s advanced settings.
- Opposite the Execute step field, click Add condition.
- Select any of the example conditions (e.g. run the step only in the default branch) or add a custom one (e.g. run the step only on the specific agent OS).
- Add as many conditions as needed. You can change and delete them anytime.
- Save the build step settings.
In every build run, this conditional step will only be executed if all its execution conditions are satisfied.
Adding parameter-based conditions
By combining execution conditions with other classic features of TeamCity, you can significantly improve your building experience. One great example is creating a condition that is based on a build parameter.
Let’s consider the following use case:
Your build configuration can be deployed to any of the three environments (QA, Staging, and Production). By default, it is deployed to QA, but you can run a custom build and select a different environment. One of the build steps contains a script that must be executed only when deployed to Production.
With conditional steps, it is easy to arrange:
- Add a build parameter with the following settings:
- Name: Environment
- Spec | Display: Prompt
- Spec | Type: Select
- Items: a newline-delimited list of environment names (QA, Staging, Production)
- In the production-only build step, click Add condition and select Other condition.
- Enter Environment as the parameter name. TeamCity will suggest all matching results. Choose the “equal” condition. Enter Production as the expected value of the Environment parameter.
- Save the build step settings.
Now, you can click Deploy to run a custom build. Since you selected the Prompt display type for the parameter, TeamCity will ask you about the target environment for this build.
If you select anything other than Production, the production-only build step will be skipped in this custom build run:
That’s it for the tutorial!
Refer to our documentation for more information and leave your feedback about the feature in the comments.
Subscribe to Blog updates
Thanks, we've got you!
How To Choose a CI/CD Tool: A Framework
In this blog post, we offer general guidelines for selecting an appropriate CI/CD solution and delve into how TeamCity fits into this framework.
Increase Your Productivity With TeamCity Documentation Examples for the Kotlin DSL
Take advantage of extensive Kotlin DSL documentation for TeamCity - now with examples! Read more about how it might increase your productivity in this blog post.
Monitor Your TeamCity Builds with Datadog CI Visibility
Datadog now offers deep, end-to-end visibility into your TeamCity builds with the new TeamCity integration for CI Pipeline Visibility.