Jenkins Conditional Steps: Build Multiple Services in One Job
Managing multiple services in Jenkins can be complex. Understanding Jenkins conditional steps allows you to build different services with distinct configurations using a single job, saving time and reducing maintenance overhead. At ZippyOPS, we help organizations implement Jenkins automation as part of broader DevOps, DevSecOps, and Cloud strategies to ensure scalable and secure operations.
This guide walks through setting up multi-service builds with conditional steps, including Docker integration and AWS ECR deployment.

Why Use Jenkins Conditional Steps
Conditional steps enable dynamic build execution. Instead of creating separate jobs for each service, a single job can handle multiple services based on specific conditions. This approach:
- Simplifies CI/CD pipelines
- Reduces administrative overhead
- Enhances maintainability and extensibility
Moreover, integrating conditional steps with Docker and AWS services streamlines deployment workflows, a best practice in modern DevOps environments.
Multi-Service Build Example for Jenkins Conditional Steps
Consider a repository containing four services:
- MS Service 1, 2, 3: Use Gradle or Maven to build
.jaror.warartifacts, then convert them to Docker images and push to AWS ECR. - MS Service 4: Contains a shell script and Dockerfile. The build should create a Docker image executing the script and push it to AWS ECR.
Using conditional steps in Jenkins allows all builds to run under a single job rather than managing separate jobs.
Step 1: Add Choice Parameters
In your Jenkins job, enable the Choice Parameter option. List all services that need to be built and pushed to AWS ECR. This allows the job to select which service to build at runtime.
Step 2: Configure Source Code Management
Provide the repository details in the Source Code Management section. Ensure all services are included in the main repository.
Step 3: Configure Conditional Build Steps
Navigate to the Build section and select Conditional steps (multiple) from the Add Build Step drop-down.
- Configure a step to build Docker images for services that do not require Gradle.
- Add another conditional step to execute Gradle commands, build artifacts, and create Docker images for other services.
Step 4: Push Docker Images to AWS ECR
After building the Docker images, configure steps to push them to the AWS ECR repository. Conditional steps ensure that each service follows the correct build path.
Troubleshooting Gradle in Jenkins
While building with Gradle, you might encounter a 'version' cannot be found error. To resolve this:
- Create a
gradle.propertiesfile in each service - Define the version explicitly for that service
This fix ensures consistent artifact creation and avoids build failures.
Extending Jenkins Workflows With ZippyOPS
At ZippyOPS, we provide consulting, implementation, and managed services for Jenkins automation. Our solutions cover:
- DevOps & DevSecOps pipelines
- Automated Ops & Cloud integration
- Microservices and Infrastructure management
- Security-focused CI/CD pipelines
We also integrate ZippyOPS products and video tutorials on YouTube to help teams implement scalable workflows.
By adopting conditional steps in Jenkins, organizations improve build efficiency, reduce errors, and maintain consistent Docker and AWS ECR deployments. According to CloudBees, conditional steps are a best practice for handling complex multi-service pipelines in Jenkins.
Conclusion: Maximize Jenkins Conditional Steps
Using Jenkins conditional steps allows teams to streamline multi-service builds, reduce job duplication, and maintain cleaner CI/CD pipelines. Integrating Docker and AWS ECR deployments improves efficiency, reliability, and scalability.
ZippyOPS can guide your organization through Jenkins automation, DevOps pipelines, and Cloud integration. For more information or a demo, email sales@zippyops.com today.



