Link-
ci-cd-intro
Shell

Intro to CI/CD ๐Ÿ’ป โ˜๏ธ

Last updated Jun 27, 2026
106
Stars
354
Forks
7
Issues
0
Stars/day
Attention Score
53
Language breakdown
Shell 37.3%
JavaScript 32.7%
HCL 26.6%
Pug 2.4%
CSS 0.9%
Procfile 0.2%
โ–ธ Files click to expand
README

Intro to CI/CD ๐Ÿ’ป โ˜๏ธ

TLDR; This repository is a sample project demonstrating a basic continuous integration (CI) / continuous deployment (CD) setup. This project is in READ ONLY mode.

:warning: Fork this repository in order to use it! If you're following along the videos and trying to run the workflows here, they will not work.

Course attachement

This repository is best consumed while or after following the course attachment ๐Ÿ‘‡

Project structure

# You can generate this tree with:

$ tree -a -I '.git|assets|.github|venv|nodemodules|images|.DSStore|*.tfvars|.terraform'

. โ”œโ”€โ”€ .gitignore โ”œโ”€โ”€ CODEOWNERS โ”œโ”€โ”€ LICENSE โ”œโ”€โ”€ README.md โ”œโ”€โ”€ infra โ”‚ย ย  โ”œโ”€โ”€ README.md โ”‚ย ย  โ””โ”€โ”€ instances โ”‚ย ย  โ”œโ”€โ”€ production โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ .terraform.lock.hcl โ”‚ย ย  โ”‚ย ย  โ”œโ”€โ”€ main.tf โ”‚ย ย  โ”‚ย ย  โ””โ”€โ”€ terraform.auto.tfvars.example โ”‚ย ย  โ””โ”€โ”€ staging โ”‚ย ย  โ”œโ”€โ”€ .terraform.lock.hcl โ”‚ย ย  โ”œโ”€โ”€ createstagingresource.sh โ”‚ย ย  โ”œโ”€โ”€ extra_staging.tf.example โ”‚ย ย  โ”œโ”€โ”€ main.tf โ”‚ย ย  โ””โ”€โ”€ terraform.tfvars.auto.example โ””โ”€โ”€ web โ”œโ”€โ”€ README.md โ”œโ”€โ”€ app.js โ”œโ”€โ”€ bin โ”‚ย ย  โ””โ”€โ”€ www โ”œโ”€โ”€ package-lock.json โ”œโ”€โ”€ package.json โ”œโ”€โ”€ public โ”‚ย ย  โ”œโ”€โ”€ javascripts โ”‚ย ย  โ””โ”€โ”€ stylesheets โ”‚ย ย  โ””โ”€โ”€ style.css โ”œโ”€โ”€ routes โ”‚ย ย  โ”œโ”€โ”€ index.js โ”‚ย ย  โ””โ”€โ”€ users.js โ”œโ”€โ”€ tests โ”‚ย ย  โ”œโ”€โ”€ app.test.js โ”‚ย ย  โ””โ”€โ”€ routes.test.js โ””โ”€โ”€ views โ”œโ”€โ”€ error.jade โ”œโ”€โ”€ index.jade โ””โ”€โ”€ layout.jade

12 directories, 26 files

  • infra/images: contains Packer template to build our AWS EC2 AMI
  • infra/instances: contains our Terraform templates to setup our staging and production EC2 instances
  • web: contains our simple Express web application

Setup

Configure your GitHub repository to run the workflows

Click to expand

  • Navigate to the Settings in your repository then to Environments
37EE1AFF-BDBC-405E-8D43-672E09CA87D5
  • Add a new environment and call it staging (or anything else you like)
F1BC0A94-3BB5-4409-B057-6E6FC241C78A
  • Enable required reviewers and add your secrets
085BF9C1-552E-46C5-91D0-687A9634A885
  • Enable branch protection on the main branch
2E8B02F5-CD8E-40C1-B03C-5FD7074C1C77 955A1F29-D628-46C4-86A4-8F614A712CFF

Test your setup

  • Create a new branch from the main branch and make some changes to the app
  • Push the new branch to GitHub
  • Watch the CI workflow being triggered
  • Troubleshoot issues as they rise

LICENSE

Copyright (c) 2021 Bassem Dghaidi (@Link-)

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท Link-/ci-cd-intro ยท Updated daily from GitHub