Laroo-Pece Division, Gulu City, Northern Uganda
Uganda time
Cloud and systems - Advanced

DevOps Essentials: Docker, CI/CD and Deployment

Package an app in Docker, test and ship it with an automated GitHub Actions pipeline, then run it safely with logs…

About this course

Writing code is only half of software work. The other half is getting that code to real users reliably, quickly and safely, and keeping it running when something goes wrong. DevOps is the set of habits, teams and tools that make this possible. Companies in Kampala, Nairobi and across the world hire people who can build and ship, not only people who can write code on their own laptop.

In this advanced course you will learn what DevOps means and how software moves from idea to users. You will learn containers and Docker (images, Dockerfiles, volumes, ports, environment variables and Compose), then continuous integration and delivery with GitHub Actions, automated tests, environments and secrets. You will deploy to a cloud server, understand web servers and reverse proxies, and learn logging, monitoring, backups, rollback and infrastructure as code.

The course finishes with security basics, free-tier costs, teamwork and incident response, and a capstone where you containerise a small web app and ship it with an automated pipeline. You need a computer with internet access and the willingness to type commands; every tool used has a free option.

What you will learn

  • Explain what DevOps is and describe the stages of the software delivery lifecycle
  • Compare containers with virtual machines and choose between them for a given job
  • Write a Dockerfile and run containers with ports, volumes and environment variables
  • Describe and write a simple docker compose file for an app with a database
  • Build a GitHub Actions pipeline that checks out code, runs automated tests and builds the app
  • Manage development, staging and production environments with configuration kept outside the code
  • Keep secrets out of repositories and apply basic security checks in a pipeline
  • Deploy a containerised app to a cloud server or platform and place a reverse proxy in front of it
  • Read logs, set up basic monitoring and alerts, and plan backups and rollback
  • Work with a team during an incident and write a short blameless review

Course content

5 modules · 17 lessons · 5 h 50 min · 6 quizzes

Module 1: DevOps foundations3 lessons

Understand what DevOps is, how software travels from idea to users, and why containers changed the way we package apps.

  1. What DevOps is and why it exists 15 min
  2. The software delivery lifecycle 15 min
  3. Containers versus virtual machines 15 min
  4. Quiz: 6 questions
Module 2: Docker in practice4 lessons

Build and run containers: images, Dockerfiles, ports, volumes, environment variables and Docker Compose.

  1. Images and containers: your first commands 20 min
  2. Writing a Dockerfile 25 min
  3. Ports, volumes and environment variables 20 min
  4. Docker Compose: several containers together 20 min
  5. Quiz: 7 questions
Module 3: CI/CD pipelines with GitHub Actions4 lessons

Automate building and testing on every change, manage environments and secrets, and deploy tested versions.

  1. Continuous integration with GitHub Actions 25 min
  2. Automated tests in a pipeline 20 min
  3. Environments, configuration and secrets 20 min
  4. Continuous delivery: deploying to a server or platform 25 min
  5. Quiz: 8 questions
Module 4: Running software in production3 lessons

Put a reverse proxy in front of your app, watch it with logs and alerts, and prepare for failure with backups, rollback and infrastructure as code.

  1. Web servers and reverse proxies 20 min
  2. Logs, monitoring and alerts 20 min
  3. Backups, rollback and infrastructure as code 25 min
  4. Quiz: 8 questions
Module 5: Security, teamwork and capstone3 lessons

Secure your pipeline, control costs, handle incidents as a team and finish with a complete containerise-and-ship project.

  1. Security basics in pipelines, and free-tier costs 20 min
  2. Working as a team and handling incidents 20 min
  3. Capstone: containerise and ship a small web app 25 min
  4. Quiz: 7 questions
Final exam

27 questions. Pass with 70% or more to earn your certificate.

What you need

  • Completed Linux and the Command Line (linux-command-line)
  • Completed Git and GitHub: Version Control and Teamwork (git-github-collaboration)
  • A computer that can run Docker (or use a free online tool such as Play with Docker or a GitHub Codespace), and a free GitHub account

Further reading

To install on iPhone or iPad: tap the Share button in Safari, then choose "Add to Home Screen".