WA3506

DevOps Foundations with Git, GitHub, Jenkins and NPM Training

This DevOps Foundations course teaches attendees how to manage code versions with Git and GitHub, automate builds and deployments with Jenkins and GitHub Actions, and leverage NPM for efficient package management. This course teaches students how to collaborate effectively, deliver high-quality applications faster, and embrace a DevOps mindset.
Course Details

Duration

3 days

Prerequisites

This course has no prerequisites.

Target Audience

Some software development experience is beneficial.

Skills Gained

  • Version Control using Git and GitHub
  • Branching, Merging and Working with Remotes
  • Working with GitHub Actions
  • Understand Continuous Code Quality
  • Explore NPM
  • Create a Jenkins Continuous Delivery pipeline
  • Create a GitHub Actions Continuous Delivery pipeline
Course Outline
  • DevOps Fundamentals
    • What is DevOps?
    • DevOps Goals
    • Core Values - Culture
    • Core Values - Automation
    • Core Values - Measurement
    • Core Values - Sharing
    • Continuous Delivery (CD)
    • Continuous Integration (CI)
    • CD & CI Methodologies
  • Introduction to Git
    • What is Git?
    • Basic Git Operations
    • Configuring Git
    • Branching, Merging and Remotes
    • Fetch and Pull
    • Push
  • Introduction to GitHub and GitHub Actions
    • What is GitHub?
    • GitHub Workflow
    • What are GitHub Actions?
    • Workflow Configuration
    • Triggering a Workflow
    • Workflow Actions
    • Runners
  • Continuous Code Quality
    • SonarQube
    • Common Weakness Enumeration (CWE)
    • OWASP
    • SANS 25
  • Introduction to Continuous Integration, Continuous Delivery and Jenkins
    • Agile Development
    • What is Continuous Integration?
    • What is Continuous Delivery?
    • Continuous Delivery vs Continuous Deployment
    • Jenkins Continuous Integration
  • Getting Started with Node Package Manager (NPM)
    • Node Package Manager (NPM)
    • The NPM Registry
    • Installing NPM
    • NVM for Linux/MacOS
    • NVM for Windows
    • The NPM Command Line Interface (CLI)
    • NPX
  • Job Types in Jenkins
    • Different types of Jenkins Items
    • Configuring Source Code Management (SCM)
    • Storing Credentials
    • Service Accounts
    • Build Triggers
    • Jenkins Plugins
  • Continuous Delivery and the Jenkins Pipeline
    • Continuous Delivery with Jenkins
    • Creating a Pipeline
    • Invoking the Pipeline
    • Interacting with the Pipeline
    • Pipeline vs Traditional Jobs
  • Best Practices for Jenkins
    • Best Practices - Secure Jenkins
    • Best Practices - Users
    • Best Practices - Backups
    • Best Practices - Reproducible Builds
    • Best Practices - Testing and Reports
    • Best Practices - Large Systems
    • Best Practices - Distributed Jenkins