You’ve deployed an application on AWS and learned how Docker packages it into a repeatable environment.
Then you change a few lines of code.
Now you need to run the tests, rebuild the image, and deploy the updated version. Doing that manually for every change can become repetitive—and makes it easy to miss a step.
This is a good time to learn CI/CD.
What does CI/CD mean?
Continuous Integration (CI) means integrating code changes frequently, with automated builds and tests to catch problems early.
For example, when you open a pull request, a workflow can:
- Install the project’s dependencies.
- Check formatting and code quality.
- Run automated tests.
- Verify that the application builds successfully.
Continuous Delivery keeps validated changes ready for release, with a possible manual approval before production.
Continuous Deployment goes further: changes that pass the required checks are automatically released to production.
Start with one useful workflow
For your first pipeline, choose an application you already understand.
A practical starting point is:
Open a pull request → run tests → check the result → review and merge.
Before automating anything, make sure your tests run successfully on your own machine. Then configure your CI platform to run the same test command.
Try making a change that deliberately breaks a test. Open a pull request and inspect the failure.
Fix the problem and watch the checks pass.
That exercise gives you a clear understanding of what your pipeline protects—and what it doesn’t.
Add Docker after your checks work
Once the test workflow is reliable, add a step that builds your Docker image.
Later, extend the process to publish the image to a registry and deploy it to a test environment.
Use a unique version tag, such as the commit identifier, so you can connect a deployed image to its source code.
Before automating production releases, decide:
- How will you verify that the updated application is healthy?
- Where will deployment credentials be stored securely?
- How will you restore the previous version if something fails?
A useful pipeline makes failures visible and successful releases repeatable.
Build these skills with Coder Roots
At Coder Roots, our Cloud Computing with DevOps training brings together AWS, Linux, Docker, Git, Terraform, Kubernetes, and CI/CD.
If you want a structured way to connect these tools through practical learning, explore our training program:
Top comments (0)