DevOps Tools with Git and Jenkins

© Elephant Scale

January 13, 2020

Overview

Developers and DevOps engineers need collaboration tools to write effective code, implement Test Driven Development methodologies, and automate deployments. Continuous Integration and Continuous Delivery are best practices in handling complex development and deployment scenarios while a product is under development.

Git and Jenkins are the twin pillars of the developers’ Continuous Integration and Continuous Delivery toolbox. By using these tools effectively, developers and dev/ops engineers can ensure much higher quality code and better results.

Duration

3 days

Audience

Software Developers

Prerequisites

  • familiarity with programming in at least one language
  • Basic knowledge of Linux and command line

Lab environment

A lab environment will be provided for students.

Zero Install: There is no need to install software on students’ machines.

Objectives

After completing the course, the students will be able to:

  • See the value of Source Code Control for Developers
  • Understand Git as an essential tool for development workflows.
  • Implement Continuous Integration and Continuous Delivery using Jenkins
  • Master the best practices for test creation

Course Outline

Introduction to the Modern Developer Workflow

Source Code Management

    • What are source code management systems and how are they used?
    • Cloud-based SCMs
    • Incremental updates v clean check out
    • Checking in code
    • Infrastructure-as-Code
    • Branch and Merge Strategies (per-branch release candidates)

About Git

    • Git Workflow
    • Using Git properly

Key CI/CD/Jenkins Concepts

    • Continuous Delivery/Continuous Integration Concepts
    • Difference between CI and CD
    • Continuous delivery versus continuous deployment

Jenkins Basics

    • Installation Wizard
    • Jenkins Jobs
    • Jenkins Builds
    • Notifications

Testing as Part of the workflow

    • Tests with git
    • Running tests in Jenkins CI Pipeline
    • Code Coverage
    • Jenkins Reports

Jenkins Plugins

Artifacts

    • Storing, Copying and Using artifacts

Building Continuous Delivery (CD) Pipelines

    • Pipeline Concepts
    • How to protect centralized pipelines when multiple groups use the same tools
    • Definition of binary reuse, automated deployment, multiple environments