757-216-3656 | Monday–Friday 8:30 AM – 4:30 PM | info@itdojo.com

Course Duration

3 Days

Audience

Employees of federal, state and local governments; and businesses working with the government.

Prerequisites

Students should understand the purpose of infrastructure servers, be familiar with scripting of any kind, have experience working at the command line in Unix, Linux, or PowerShell, and be comfortable using a text editor.

Course Description

Building, testing, and deploying code can be complex and time-consuming. This three-day, instructor-led, hands-on, technical class provides the solution of how to create an automated CI/CD pipeline that builds, tests, and deploys code every time a developer pushes a code change, ensuring only high-quality and approved code gets deployed. Developers don’t use isolated software tools, so why learn tools in isolation? This course combines the most widely used enterprise technologies into single, integrated, end-to-end pipelines. We’ll teach you git from the ground up so you can securely push code to a remote repository such as Github or Bitbucket. Then we’ll teach you how to configure servers using Ansible from code stored in git. Next, we’ll integrate git and Ansible with Jenkins CI/CD to build, test, and deploy your code into Staging and Production environments, creating an automated end-to-end DevOps pipeline.

Learning Objectives

  • Maintain code using Git and GitHub
  • Create, test, and deploy Ansible playbooks through a Jenkins CI/CD pipeline
  • Complete integration tests
  • Write CI/CD as code using Jenkins
  • Compile, test, package, and permanently store Java applications
  • Store artifacts

Course Outline

Course Topics
  • Git – Source Control Management
  • Chef – Configuration Management
  • Jenkins – Continuous Integration/Continuous Deployment
  • Purpose overview and use cases
  • Git workflow
  • Configuring git on your local machine
  • Getting help with Git
  • Local vs. Global vs. System configurations
  • Basic Git Commands
  • Creating local git repositories
  • Branching and merging
  • Using remote repositories
  • Pushing code to Github using public and private SSH keys
  • Ansible purpose and use cases
  • Architecture and call flow
  • Ansible installation, configuration, and validation
  • Control nodes and managed nodes
  • Ansible managed hosts
  • Host inventory; hosts and groups
  • Repeatable code: Playbooks
  • Introduction to YAML
  • Modularizing code: Roles
  • Ansible variables
  • Dynamic configuration with facts
  • Finding errors: Ansible unit testing
  • Ensuring code quality: Ansible integration testing
  • CI/CD overview, use cases and history
  • Plugin architecture
  • Initializing a Jenkins server
  • Projects and jobs
  • Freestyle jobs
  • CI/CD as Code: Pipeline projects
  • Declarative vs. scripted pipelines
  • Jenkins Environment variables and parameters
  • Distributed architecture: Master and agent nodes
  • Views and Folders
  • Managing credentials and secrets
  • Integrating with git Source Control Management
  • Triggers: Webhooks and Polling
  • Notifications: Instant messaging and SMTP Email
  • Approval inputs
  • Testing Ansible playbooks in Jenkins
  • Multibranch Pipelines: Reading entire repositories
  • Conditional Logic
  • Deploying Chef cookbooks with Jenkins: An automated end-to-end deployment pipeline
Get More Information

We cannot work with the general public. We only work with Government Agencies, Military, government contractors, and corporate clients.