Slide 1

Slide 1 text

Mastering GitHub Actions: Automate and Supercharge Your Development Workflow

Slide 2

Slide 2 text

Theophilus Kibet - Software Eng @Kyosk

Slide 3

Slide 3 text

Continuous Integration & Continuous Deployment

Slide 4

Slide 4 text

What is Continuous integration?

Slide 5

Slide 5 text

What is Continuous integration? - is a software development practice where developers frequently merge their code changes into a central repository, after which automated builds and tests run.

Slide 6

Slide 6 text

Developer 1 Developer 2 Developer 3 Code Repository No CI

Slide 7

Slide 7 text

Developer 1 Developer 2 Developer 3 Code Repository CI With CI

Slide 8

Slide 8 text

What is Continuous Deployment?

Slide 9

Slide 9 text

What is Continuous Deployment? - is a strategy in software development where code changes to an application are released automatically into the production environment(or qa, uat e.t.c).

Slide 10

Slide 10 text

Tools used for CI/CD 1. Github Actions 2. Jenkins 3. Circle CI 4. TeamCity 5. Gitlab 6. Bamboo

Slide 11

Slide 11 text

Github Actions? - Enables developers to define, customize and execute workflows directly within their GitHub repositories.

Slide 12

Slide 12 text

Github Actions? - Enables developers to define, customize and execute workflows directly within their GitHub repositories.

Slide 13

Slide 13 text

Workflows - refers to a series of automated steps or tasks that are defined in a YAML configuration file and executed in response to events in a GitHub repository. - This YAML file is placed in the .github/workflows directory in your repository, and it specifies the workflow's structure, including the jobs, steps, and actions to be executed.

Slide 14

Slide 14 text

Workflows - refers to a series of automated steps or tasks that are defined in a YAML configuration file and executed in response to events in a GitHub repository. - This YAML file is placed in the .github/workflows directory in your repository, and it specifies the workflow's structure, including the jobs, steps, and actions to be executed.

Slide 15

Slide 15 text

Triggers - Workflows are triggered by specific events that occur in the GitHub repository. - These events can include code pushes, pull requests, issues, comments, and more.

Slide 16

Slide 16 text

Jobs - A series of steps executed by the same runner. - A workflow can have one or more jobs.

Slide 17

Slide 17 text

Jobs - A series of steps executed by the same runner. - A workflow can have one or more jobs.

Slide 18

Slide 18 text

Runners - are the environments where your GitHub Actions workflows are executed. - GitHub-hosted runners -> ubuntu, windows, macOs - Self-hosted runners -> your infrastructure

Slide 19

Slide 19 text

Steps - actions or tasks that are executed sequentially within the job e.g building code, running tests or deploying applications.

Slide 20

Slide 20 text

Steps - actions or tasks that are executed sequentially within the job e.g building code, running tests or deploying applications.

Slide 21

Slide 21 text

Actions - reusable, shareable units of code that can be used within the steps of a workflow. - Found on github marketplace or created by you.

Slide 22

Slide 22 text

Parallelism - Jobs within a workflow are executed concurrently on separate runners (virtual or self-hosted machines), which can significantly speed up the workflow's execution.

Slide 23

Slide 23 text

Secrets and Environment variables - Workflows can securely access sensitive information, like API keys and credentials, by using GitHub's secret management. - You can also define environment variables that are available to the workflow steps.

Slide 24

Slide 24 text

Workflow Artifacts - Workflows can produce and store artifacts, which are files or data generated during the workflow's execution.

Slide 25

Slide 25 text

Notifications - GitHub Actions can be configured to send notifications or alerts to various communication channels, such as Slack, Microsoft Teams, or email.

Slide 26

Slide 26 text

Show me the code!!!!

Slide 27

Slide 27 text

Questions?

Slide 28

Slide 28 text

Resources ● Github Actions Documentation ● Android CI-CD by VictorKabata @_kibetheophilus github.com/kibettheophilus

Slide 29

Slide 29 text

No content