HomeChallengesRepsProblemsLeaderboardTake a challenge

Docker + GitHub Actions

A multi-stage Dockerfile and a pipeline that builds, tests and deploys on green.

Intermediate20 min on the clock9 graded checks · 100 pointsDocker + Deploy SprintPro
Graded by reading your code against the checklist below.

What you build

  • Build in the SDK image, ship only the output in the runtime image
  • Run as a non-root user and declare the port
  • Add a HEALTHCHECK the platform can poll
  • Check out, set up the toolchain, build and run the tests on every push
  • Deploy to Azure only from main, only after the build passes

Done means

docker build produces a small runtime image, and a push to main deploys after tests pass.

How it is graded

Published in full, before you start — every point is one of these and there is nothing else.

  1. Use a multi-stage build+20Containers
  2. Ship the slim runtime image, not the SDK+10Containers
  3. Declare the port+5Containers
  4. Run as a non-root user+10Running it in production
  5. Add a HEALTHCHECK+10Running it in production
  6. Check out and set up the toolchain+10Continuous delivery
  7. Build and run the tests on every push+20Continuous delivery
  8. Deploy only from main, only after a green build+10Continuous delivery
  9. Take credentials from secrets+5Continuous delivery

What it teaches

The rest of Docker + Deploy Sprint