hardMultiple ChoiceObjective-mapped
200-901 Practice Question: A DevOps team is developing a CI/CD pipeline for…
A DevOps team is developing a CI/CD pipeline for a microservices application that uses Cisco NSO (Network Services Orchestrator) for network configuration. The application code is stored in a Git repository. The pipeline must automatically trigger a test suite when a pull request is merged to the main branch, but only if the tests pass, then deploy to a staging environment. The team is using Jenkins. A junior engineer suggests using a single Jenkinsfile with a declarative pipeline that includes all stages. However, a senior engineer notes that the pipeline should be designed for reusability and maintainability, especially as the number of microservices grows. Which approach best meets these requirements?
⚠ Common exam trap
Test-takers frequently choose a monolithic pipeline (Option D) because it seems simpler, but Cisco tests the understanding that reusability and maintainability in a microservices architecture require decoupling pipeline logic via shared libraries, not centralizing it.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use shared libraries to define common stages like testing and deployment, and reference them in each microservice's Jenkinsfile.
Shared libraries in Jenkins allow common pipeline logic (e.g., testing and deployment stages) to be defined once and reused across multiple microservices. This promotes reusability and maintainability, as changes to the shared library automatically propagate to all Jenkinsfiles, reducing duplication and simplifying updates as the number of microservices grows.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Use shared libraries to define common stages like testing and deployment, and reference them in each microservice's Jenkinsfile.
Why this is correct
Shared libraries in Jenkins allow common pipeline logic (e.g., testing, deployment) to be defined once and reused across multiple microservices. This promotes reusability and maintainability, as changes propagate automatically, reducing duplication.
- ✗
Create separate Jenkinsfiles for each microservice and call them from a main pipeline using the "build" step.
Why it's wrong here
Creating separate Jenkinsfiles for each microservice and calling them from a main pipeline using the 'build' step leads to duplication of pipeline logic and increases maintenance overhead, especially as the number of microservices grows.
- ✗
Use a single scripted pipeline that uses "parallel" for microservices and "stage" for testing and deployment.
Why it's wrong here
A single scripted pipeline with 'parallel' for microservices and 'stage' for testing/deployment does not inherently promote reusability across microservices; it still centralizes logic that may need to be duplicated or customized per service.
- ✗
Use a single declarative pipeline with all stages defined in the Jenkinsfile and use "when" conditions to control execution.
Why it's wrong here
A single declarative pipeline with all stages and 'when' conditions becomes monolithic and difficult to maintain as the number of microservices increases, lacking the modularity and reuse provided by shared libraries.
Go deeper
Related to this question
About these practice questions
This 200-901 question is part of Courseiva's 989-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This 200-901 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 200-901 exam.