Final Project: Build a Full CI/CD Pipeline for a Sample App
Bring every piece together into one real, working pipeline for a small application of your choice.
Requirements
- Set up a GitHub Actions workflow that runs on every push and pull request: install dependencies, lint, and run the test suite, failing fast if any step fails.
- Cache dependencies so repeated runs are meaningfully faster than a cold run.
- Build a Docker image of your app in the pipeline and tag it with the commit SHA.
- Add a separate deploy job that only runs after the test job succeeds (
needs:), deploying your image somewhere real (a container registry at minimum, a running service if you want to go further). - Use at least one repository secret for a credential your pipeline needs, never hardcoded in the workflow file.
Stretch goals
- Add a test matrix running your suite against two different runtime versions.
- Use a GitHub Actions Environment with a required manual approval step before deploying to "production".
- Add a simple feature flag to your app, and deploy a new feature behind it, turned off by default.
Submit a link to your finished project (a repo with your workflow file, and a note on what it actually deploys to) below, an instructor will review it before you can mark this lesson complete. Good luck! 🚀