A beginner-friendly, and free, course to help you take your first steps as a DevOps engineer is available as a series of YouTube videos.
But first, let’s start with some definitions of what DevOps is. In “The DevOps Master Class – Go Behind The Concept” we saw that it is not just about the tools:
DevOps is the union of people, process, and products to enable continuous delivery of value to our end users
It’s about bringing teams together and enabling them through the use of agile tools and processes to cooperate, to create new features that bring value to end users as well as cope with frequent changes in requirements, something remedied under a continuous cycle that ensures continual delivery.
And what are those tools and processes? Git and CI/CD, monitoring, infrastructure as code and containers.
Further, continuous Integration means newly developed code changes to a project are regularly built, tested, and merged to a shared repository like Git. The continuous delivery part is the process of automating the release of the merged and validated code of a repository, and releasing the outcome of a production-ready build to the production environment.
Which brings us to the concept of CI/CD pipeline, the process that:
- automates the steps in the software delivery process, such as initiating automatic builds, tests and then deploying to the server (Amazon EC2 instances).
- rebuilds, and re-deploys every time there is a change in source code resident in a version control system.
The GitHub Actions course is about the GitHub as an automation platform. In fact, it teaches you how to write your first workflow- pipeline with GitHub Actions and GitHub APIs to build, test and deploy software in an automated fashion. It covers the internals of the actions, the workflow syntax, the jobs, the steps, the functions and more.
It is comprised of four videos, each more than an hour long:
Chapter 1. Writing your first workflow with GitHub Actions and GitHub APIs
- Overview of GitHub Actions
- Workflow syntax
- GitHub web editor & syntax validation
- Building the issue comments workflow
- Using a community action
- Using GitHub REST APIs in workflows
Chapter 2. Building Python and NodeJS continuous integration (CI) pipelines with GitHub Actions
Goes through the history of integration, what problem continuous integration is trying to solve and how to build CI pipelines using as an example the cPython project.
- The history of software integration
- What is Continuous Integration?
- CI in the cPython project
- A demo of CI for a NodeJS project
- Branch protection
- Code scanning with CodeQL
Chapter 3. Continuous Deployment with GitHub Actions
Continuous deployment with GitHub Actions. Set up an on-demand staging EC2 AWS instances workflow, combine continuous integration and continuous deployment for faster release cycles.
- Fundamentals (Branching strategy & CD)
- Branching strategies (GitHub Flow vs Git Flow)
- CD Demo
- On-demand staging instances
- GitHub Secrets
- CD workflow
- Deployments history view
- Workflow badges
Chapter 4. Manage your AWS infrastructure with Terraform like a pro DevOps engineer
Goes through the concept of Infrastructure as code (IaC) with examples using Terraform and AWS.
- A brief history of the internet
- Cloud fundamentals and common services
- Private Cloud (VPC / VNET)
- What is Infrastructure as Code?
- Intro to Terraform CLI
- Terraform configuration file deep dive
- Navigating the Terraform provider docs
- Creating a public / private RSA keypair with ssh-keygen
- Installing Terraform CLI in a Ubuntu container
- Create AWS access keys
- Introduction to Terraform Cloud
- Terraform cloud variables
It’s an engaging course that pretty much covers the whole aspect of a workflow and is a good starting point for the world of DevOps.
The DevOps Master Class – Go Behind The Concept
The Insider’s Guide to the Java Web Developer Nanodegree – 5
or email your comment to: [email protected]