Courseiva
hardMultiple Choice

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 extract common pipeline stages into a versioned, centrally maintained repository, so each microservice's Jenkinsfile references them rather than duplicating logic. This directly satisfies the reusability and maintainability constraint as the number of microservices grows, unlike a single monolithic declarative pipeline.

  • ✗

    Create separate Jenkinsfiles for each microservice and call them from a main pipeline using the "build" step.

    Why it's wrong here

    Nested Jenkinsfiles invoked via the build step recompile each microservice's pipeline separately, so shared stage logic and credentials are duplicated rather than inherited, defeating the reusability the stem demands. It suits teams wanting per-repo autonomy over independent pipelines, not centralised orchestration of a growing microservice fleet.

  • ✗

    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 duplicates stage logic across every microservice, so changes must be replicated manually and reusability suffers as services grow. Shared libraries or templated declarative pipelines centralise that logic. Scripted pipelines with parallel stages suit one-off, highly bespoke workflows rather than a growing multi-service estate.

  • ✗

    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 duplicates every stage across each microservice's Jenkinsfile, so a change to the test or deploy logic must be edited in every repository. Shared libraries exist precisely for this reuse; they would be correct when pipelines share common stages across many repositories.

About these practice questions

This 200-901 question is part of Courseiva's 975-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 →

How Courseiva writes practice questions · Editorial policy

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.