Slide 1

Slide 1 text

CICD with Github Actions Bukola Johnson Platform Engineer @Hellofresh

Slide 2

Slide 2 text

Platform Engineer @Hellofresh Ambassador @Google WomenTechMakers Program DevOps Coordinator @ SheCodeAfrica Bukola Johnson @bukecious

Slide 3

Slide 3 text

TABLE OF CONTENTS 01 CICD Explained 02 Github Actions Overview 03 Demo 04 Documentation

Slide 4

Slide 4 text

DISCLAIMER!

Slide 5

Slide 5 text

CI/CD Explained 01

Slide 6

Slide 6 text

WHAT IS CI/CD?

Slide 7

Slide 7 text

Integrating all your code changes into the main branch of a shared source code repository early and often Automatically deploy applications - eliminating the need for human intervention Continuous Integration Continuous Delivery /Deployment

Slide 8

Slide 8 text

WHY IS CI/CD IMPORTANT Improve developer productivity Remove manual development work Repeatability

Slide 9

Slide 9 text

Github Actions 02

Slide 10

Slide 10 text

GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your deployment pipeline.

Slide 11

Slide 11 text

CICD WITH GITHUB ACTIONS CICD with Github actions offers workflow that can : Build the code In your repository Run your test Can run on Github-hosted virtual machine Or on a machine you host yourself Github Actions

Slide 12

Slide 12 text

THE COMPONENTS OF GITHUB ACTIONS

Slide 13

Slide 13 text

COMPONENTS OF GITHUB ACTIONS Workflows Events A specific activity in a repo that triggers a workflow run Jobs Set of steps in a workflow Actions A custom application for GHA platforms for repeated task Defined by yaml files in .github/workflows dir in repository Runners The server that runs the workflow

Slide 14

Slide 14 text

A workflow is a configurable automated process that will run one or more jobs Workflows are defined in the .github/workflows directory in a repository WORKFLOWS

Slide 15

Slide 15 text

An event is an activity that triggers a workflow run. EVENTS

Slide 16

Slide 16 text

A job is a set of steps in a workflow that execute on the same runner. JOBS

Slide 17

Slide 17 text

An action is a custom application that performs a complex but frequently repeated task. ACTIONS

Slide 18

Slide 18 text

A runner is a server that runs your workflows when they're triggered.. GitHub provides Ubuntu Linux, Microsoft Windows, and macOS runners to run your workflows. RUNNERS

Slide 19

Slide 19 text

KEY ADVANTAGES Community-powered reusable workflows Simplicity CICD pipeline setup is simple Responds to any webhook on Github Webhook Reusable Workflows

Slide 20

Slide 20 text

DEMO 03

Slide 21

Slide 21 text

Deploying Go sample App with Github Actions Set up a workflow to build docker image, push to Google registry and deploy to kubernetes DEMO Lorem Ipsum Dolor Sit Amet - Lorem Ipsum Dolor Sit 300 views #loremipsum #loremipsum 0:50 / 2:50

Slide 22

Slide 22 text

CREATING A SAMPLE WORKFLOW Create the yaml file Step 3 Clone the repository you will be using for the deployment Step 1 Create workflow directory Step 2 Confirm your deployment status Step 6 Commit the changes to Github Step 4 Monitor the progress of the workflow Step 5

Slide 23

Slide 23 text

RESOURCES Learn github actions Understanding-github-actions Using workflows Creating actions ___

Slide 24

Slide 24 text

CREDITS: This presentation template was created by Slidesgo, incluiding icons by Flaticon, and infographics & images by Freepik. THANKS! Do you have any questions? @bukecious bukolajohnson.com