Introduction to

Github Actions Workflow

Priyanka Saggu

$whoami

  • I am Priyanka Saggu :)
  • Currently, I'm working as a DevOps Engineer Intern @Atlanhq.    (And, I will be a DevOps Engineer in about 2 weeks from now XD )​

  • I'm also an Outreachy'19 alumna @GNOME Foundation.

  • And yes, I am still in the very process of learning & exploring my ways.

Content

  • What is a Github Action?
  • What's my intent for talking about Github Actions here?
  • Format for writing a basic Github Actions workflow.
  • Quick handson!
  • QnA

What is a Github Action?

GitHub Actions is an API for cause and effect on GitHub: orchestrate any workflow, based on any event, while GitHub manages the execution, provides rich feedback, and secures every step along the way. With GitHub Actions, workflows and steps are just code in a repository, so you can create, share, reuse, and fork your software development practices.

                                                                                     - github.blog

Github Action Workflow

 

 

Jobs

 

 

Github Actions (steps)

 

 

 Commands 

  • GitHub Actions is an API for cause and effect on GitHub.
  • orchestrate any workflow
  • based on any event
  • while GitHub manages the execution, provides rich feedback, and secures every step along the way.
  • With GitHub Actions, workflows and steps are just code in a repository, so you can create, share, reuse, and fork your software development practices.

Just a little bit about CI/CD

A CI/CD Pipeline implementation, or Continuous Integration/Continuous Deployment, is the backbone of the modern DevOps environment.

  • CI stands for Continuous Integration
  • CD stands for Continuous Delivery/Continuous Deployment.

You can think of it as a process similar to a software development lifecycle.

                                                                                                                             - Devops ZONE

Writing first Github Action!

  • Make a nested directory structure in the root of your Github Repository. Like this:

 

       .github ->  workflows -> main.yaml

 

(Okay,  you don't have to manually set this part too. :D)

 

name: CI


on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    runs-on: ubuntu-latest
    
    steps:

    - uses: actions/checkout@v2

    - name: Run a one-line script
      run: echo Hello, world!

    - name: Run a multi-line script
      run: |
        echo Add other actions to build,
        echo test, and deploy your project.

HANDS ON!

Q/A

  • `priyankasaggu119` on IRC. [mostly hanging around in #learnandteach, #dgplug (on freenode server) & #gtranslator (on irc.gimp.net)]
  • Twitter handle: @PriyankaSaggu4
  • LinkedIn: linkedin.com/in/priyanka-saggu
  • priyankasaggu11929@gmail.com

 

You can connect with me:

And I (try hard to) write as well , so if you want to read:

 

  • priyankasaggu119.github.io/
Made with Slides.com