Basic DevSecOps with GitHub Actions

DevOps

COURSE OVERVIEW


This 3-day intensive course, DevSecOps with GitHub Actions, is designed to help professionals integrate security seamlessly into the automated software development lifecycle.

 

The program focuses on the "shift-left" security philosophy, moving security practices earlier in the development process to create a secure software supply chain. Participants will learn to navigate the GitHub platform and leverage GitHub Actions for CI/CD and workflow automation. The curriculum covers building secure pipelines that incorporate automated Static Application Security Testing (SAST), dependency scanning, and container image scanning. Through hands-on exercises, learners will manage secrets securely and enforce compliance policies before concluding with a Capstone Project that builds a complete, end-to-end DevSecOps pipeline.


Learning Objectives

By the end of this course, participants will be able to:

·      Apply DevSecOps Principles: Understand the core tenets of DevOps and how to integrate security into every stage of the lifecycle.

·      Master GitHub Actions Architecture: Configure workflows, events, jobs, and runners to automate complex CI/CD processes.

·      Implement Automated Security Scanning: Utilize tools like CodeQL and Trivy to perform static analysis, dependency checks, and container scanning.

·      Manage Secrets Securely: Effectively use GitHub Secrets and integrate external managers like HashiCorp Vault to prevent credential leaks.

·      Enforce Compliance as Code: Establish branch protection rules, mandatory reviews, and automated policy checks to maintain governance.

·      Orchestrate Secure Deployments: Build automated deployment pipelines to cloud platforms like AWS and Azure and secure Kubernetes environments.

·      Monitor and Respond: Set up security logs and alerts for continuous monitoring and automated incident remediation.

 

Target Audience

This course is specifically designed for:

·      DevOps Engineers who want to specialize in security automation and secure pipeline design.

·      Security Professionals looking to integrate their testing protocols into modern CI/CD workflows.

·      Software Developers aiming to build more secure applications by mastering "shift-left" techniques.

·      Technical Leads and Architects responsible for overseeing the security of an organization's software supply chain.


Prerequisite

Participants should have a good understanding of DevOps before enrolling in this course.

COURSE OUTLINE


1. Introduction to DevSecOps

1.1 What is DevOps

·      DevOps principles

·      DevOps lifecycle

·      Continuous Integration

·      Continuous Delivery

1.2 What is DevSecOps

·      Security in DevOps

·      Shift-left security

·      Secure software supply chain

1.3 DevSecOps Benefits

·      Faster secure releases

·      Automated security testing

·      Continuous compliance

 

2. Introduction to GitHub Platform

2.1 Overview of GitHub

·      What is GitHub

·      GitHub architecture

·      GitHub workflow

2.2 GitHub Repositories

·      Creating repositories

·      Repository structure

·      Repository permissions

2.3 Branching and Collaboration

·      Branching strategies

·      Pull requests

·      Code reviews

·      Branch protection rules

 

3. Introduction to GitHub Actions

3.1 What is GitHub Actions

·      CI/CD automation with GitHub Actions

·      Workflow automation

·      GitHub Actions architecture

3.2 Components of GitHub Actions

·      Workflows

·      Events

·      Jobs

·      Steps

·      Actions

·      Runners

3.3 GitHub Workflow Files

Location:

.github/workflows/ Example workflow:

name: CI Pipeline on: push

 

jobs:

build:

runs-on: ubuntu-latest steps:

- run: echo "Hello DevOps"

 

4. Creating CI Pipelines with GitHub Actions

4.1 Triggering Workflows

Events:

·      push

·      pull_request

·      schedule

·      workflow_dispatch

4.2 Workflow Execution

·      Job execution

·      Step execution

·      Parallel jobs

·      Job dependencies

4.3 Pipeline Visualization

·      Workflow dashboard

·      Job logs

·      Debugging workflows

 

5. Build Automation

5.1 Build Pipelines

·      Compile code

·      Build artifacts

·      Package applications

5.2 Artifact Management

·      Upload artifacts

·      Download artifacts Example:

actions/upload-artifact

 

6. Automated Testing in CI

6.1 Unit Testing

·      Running test frameworks

·      Test reports

6.2 Integration Testing

·      Service testing

·      API testing

6.3 Code Coverage

 

7. Security Fundamentals for DevSecOps

7.1 Secure Development Lifecycle

·      Secure coding practices

·      Vulnerability management

7.2 Threat Modeling

·      Identifying attack surfaces

·      Risk assessment

7.3 DevSecOps Pipeline Architecture

 

8. Static Application Security Testing (SAST)

8.1 What is SAST

·      Source code vulnerability scanning

·      Early security detection

8.2 SAST Tools in GitHub

Using:

·      CodeQL

·      SonarQube

8.3 Implementing SAST in GitHub Actions

Example workflow:

·      Scan code automatically

·      Generate vulnerability reports


9. Dependency Security Scanning

9.1 Open Source Security Risks

·      Dependency vulnerabilities

·      Supply chain attacks

9.2 GitHub Dependency Scanning

Using:

·      Dependabot

9.3 Automated Dependency Updates

·      Security alerts

·      Automated pull requests

 

10.     Container Security

10.1     Container Security Fundamentals

·      Image vulnerabilities

·      Secure container builds

10.2     Container Image Scanning

Using:

·      Trivy

10.3     Secure Docker Pipelines

Working with:

·      Docker

 

11.     Infrastructure Security

11.1     Infrastructure as Code Security

·      IaC vulnerabilities

·      Configuration scanning

11.2     IaC Security Tools

Using:

·      Checkov

·      Terraform

 

12.     Secrets Management

12.1     Managing Secrets in Pipelines

·      Storing secrets securely

·      Avoiding credential leaks

12.2     GitHub Secrets

Using:

·      GitHub Secrets

12.3     Integrating External Secret Managers

Example:

·      HashiCorp Vault

 

13.     Compliance and Policy Enforcement

13.1     Security Policies

·      Branch protection rules

·      Mandatory reviews

13.2     Policy as Code

·      Automated compliance checks

13.3     Audit and Compliance Reporting

 

14.     Deployment Pipelines

14.1     Continuous Deployment

·      Deployment automation

·      Environment promotion

14.2     Cloud Deployment Pipelines

Platforms:

·      Amazon Web Services

·      Microsoft Azure

 

15.     Kubernetes Security in Pipelines

15.1     Secure Kubernetes Deployments

·      Cluster security

·      Deployment security Working with:

·      Kubernetes

 

16.     Monitoring and Incident Response

16.1     Security Monitoring

·      Security logs

·      Alerts

16.2     Incident Response

·      Automated remediation

·      Security playbooks

 

17.     Advanced GitHub Actions Features

17.1     Reusable Workflows

17.2     Composite Actions

17.3     Workflow Templates

17.4     Matrix Builds


18.     DevSecOps Governance

18.1     Security Governance

18.2     DevSecOps Maturity Models

18.3     Secure Pipeline Design

 

19.     DevSecOps Best Practices

·      Least privilege access

·      Secure pipeline design

·      Automated security testing

·      Continuous monitoring

 

20.     DevSecOps Capstone Project

Build a complete DevSecOps pipeline: Pipeline stages:

1.      Code commit

2.      Build pipeline

3.      Unit testing

4.      Static security scanning

5.      Dependency scanning

6.      Container image scanning

7.      Infrastructure scanning

8.      Deployment to cloud

9.     Security monitoring Using tools:

·      GitHub Actions

·      CodeQL

·      Trivy

·      Terraform


REGISTER NOW