mediumMultiple Select
200-901 Practice Question: Which THREE of the following are common steps in…
Which THREE of the following are common steps in a CI/CD pipeline for a Python application that manages Cisco devices?
⚠ Common exam trap
Cisco often tests the distinction between version control practices (like manual code review) and actual CI/CD pipeline stages (automated build, test, deploy), leading candidates to incorrectly select manual review as a pipeline step.
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
✓
Build a Docker container
Option A (Build a Docker container) is correct because packaging the Python application and its dependencies into a Docker image is a standard CI/CD build step that ensures consistent, portable deployment artifacts across environments. Option C (Perform static code analysis/linting) is correct because tools like flake8, pylint, or black are typically run in the pipeline to catch syntax errors, style violations, and potential bugs before code is merged or deployed. Option D (Run unit tests on each commit) is correct because executing automated tests (e.g., pytest or unittest) on every commit provides fast feedback and verifies that the Python code managing Cisco devices behaves as expected. Option B (Manually review code before merge) is not a pipeline step—it is a human code-review activity typically handled via pull requests, not automated CI/CD execution. Option E (Deploy to production on every commit) is not a common practice; production deployments usually require passing tests and approvals, and continuous deployment to production on every commit is risky and not a standard CI/CD step for network automation.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Build a Docker container
Why this is correct
Building a Docker container packages the Python application with its dependencies into an immutable image, satisfying the pipeline's need for consistent, reproducible artefacts across environments. This step typically follows unit testing and precedes registry push and deployment, ensuring the Cisco device management code runs identically regardless of the underlying host configuration.
- ✗
Manually review code before merge
Why it's wrong here
Manual review is a human gate, not an automated pipeline stage, so it cannot guarantee consistent execution on every commit. It belongs in code review before merge, whereas CI/CD pipelines run scripted steps such as linting, unit testing and deployment automatically.
- ✓
Perform static code analysis (linting)
Why this is correct
Linting parses the Python source without executing it, flagging syntax errors, style violations and risky patterns early. This static analysis runs fast in the pipeline and fails the build before defective code reaches Cisco devices.
- ✓
Run unit tests on each commit
Why this is correct
Unit tests execute on every commit, verifying individual functions such as configuration parsers and device connectors behave correctly. Running them per commit gives immediate feedback and prevents regressions from being merged into the shared codebase.
- ✗
Deploy to production on every commit
Why it's wrong here
Deploying to production on every commit skips staging and approval gates, so untested changes reach live Cisco devices immediately. It suits continuous deployment of low-risk services with strong automated rollback, not a pipeline where validation and staged promotion are expected.
Visual reference
Go deeper
Related to this question
About these practice questions
One of 975 original 200-901 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. 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.