Software DevelopmentIntermediate 2 to 4 hours

Multi-Environment Deployment Pipeline

Design a pipeline that deploys to Staging, then requires manual approval for Production.

The Scenario

The company is maturing. They now have a `staging` environment and a `production` environment. Pushes to `main` should automatically deploy to staging, but deploying to production must require a manual click from the QA manager.

The Brief

Design a multi-stage Continuous Deployment (CD) pipeline. Write the GitHub Actions (or GitLab CI) YAML that defines two deployment jobs. Explain how you manage environment-specific secrets (like database URLs).

Deliverables

  • The multi-stage YAML file
  • An explanation of how manual approval gates are configured in your chosen CI provider
  • A description of how environment variables are securely injected into the build

Submission Guidance

Do not hardcode secrets in your YAML. Show how you reference repository secrets based on the current environment.

Submit Your Work

Your submission is graded against the rubric on the right. If you pass, you get a public Badge URL you can share on LinkedIn. There is no draft save, so work offline first and paste your finished response here.

This appears on your public Badge.

0/20000 charactersMarkdown supported

One per line or comma separated. Up to 5 links.

By submitting, you agree your submission text, name, and evaluation will appear on a public Badge URL.