Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI/CD Course

An introductory course on Continuous Integration (CI) and Continuous Delivery (CD), with a final project that runs on GitHub Actions.

Course objectives

After completing the lessons, you will be able to:

  • distinguish continuous integration, delivery, and deployment;
  • explain the stages of a pipeline;
  • write automated tests for Bash scripts;
  • configure triggers, jobs, and steps in GitHub Actions;
  • apply basic quality and security controls;
  • diagnose failures and improve a pipeline.

Prerequisites

  • basic Git and terminal knowledge;
  • a GitHub account;
  • Bash and Git installed;
  • a repository where you can create workflows.

Learning path

Lesson Topic Practical outcome
01 CI/CD fundamentals Distinguish CI, delivery, and deployment
02 Pipeline anatomy Design a validation flow
03 Automated testing Write reliable Bash tests
04 Continuous Delivery Prepare a deliverable artifact
05 GitHub Actions Understand the final workflow
06 Operations and best practices Evolve the pipeline securely

Final project

The project uses scripts/backup.sh to create compressed backups with SHA-256 checksums. The suite in tests/test_backup.sh tests creation, restoration, integrity, exclusions, and invalid input. Run it locally:

bash tests/test_backup.sh

The pipeline in .github/workflows/ci.yml runs the same checks on every push and pull_request. On a push to main, it also creates and uploads a verifiable backup artifact, representing the continuous delivery stage.

Use the utility:

mkdir -p backups
bash scripts/backup.sh ./data ./backups/data.tar.gz
cd backups
sha256sum --check data.tar.gz.sha256

How to study

  1. Read one lesson at a time.
  2. Run the examples in your terminal.
  3. Answer the review questions without referring to the lesson.
  4. Change the script, add a test, and observe the pipeline.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages