Slide 1

Slide 1 text

Sean Sullivan September 24, 2019 Portland Java User Group Continuous Delivery with GitHub Actions

Slide 2

Slide 2 text

software engineer Portland Oregon code generators tinyrobots About me

Slide 3

Slide 3 text

GITHUB ACTIONS: A FUTURE TO BELIEVE IN

Slide 4

Slide 4 text

GitHub Actions enable you to create custom software development lifecycle workflows directly in your GitHub repository https://help.github.com/en/articles/about-github-actions

Slide 5

Slide 5 text

GitHub Actions is currently in limited public beta and is subject to change https://help.github.com/en/articles/about-github-actions

Slide 6

Slide 6 text

You can write individual tasks, called actions, and combine them to create a custom workflow https://help.github.com/en/articles/about-github-actions

Slide 7

Slide 7 text

GitHub webhooks GitHub Actions

Slide 8

Slide 8 text

Workflows are custom automated processes that you can set up in your repository to build, test, package, release, or deploy https://help.github.com/en/articles/about-github-actions

Slide 9

Slide 9 text

Workflow file The YAML file that defines your workflow configuration. This file lives in .github/workflows https://help.github.com/en/articles/about-github-actions

Slide 10

Slide 10 text

.travis.yml .github/workflows

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

https://github.com/features/actions/signup/

Slide 13

Slide 13 text

create deployment deployment_status Events that trigger workflows https://help.github.com/en/articles/events-that-trigger-workflows pull_request push schedule (and many more)

Slide 14

Slide 14 text

https://github.com/actions

Slide 15

Slide 15 text

Starter workflows

Slide 16

Slide 16 text

https://github.com/actions/starter-workflows/tree/master/ci

Slide 17

Slide 17 text

workflow YAML

Slide 18

Slide 18 text

https://github.com/actions/starter-workflows/blob/master/ci/maven.yml

Slide 19

Slide 19 text

Actions UI

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Demo

Slide 23

Slide 23 text

Creating a custom Action with TypeScript

Slide 24

Slide 24 text

https://github.com/actions/typescript-action

Slide 25

Slide 25 text

https://github.com/actions/typescript-action/blob/master/action.yml

Slide 26

Slide 26 text

https://github.com/actions/typescript-action/blob/master/src/main.ts

Slide 27

Slide 27 text

case study: Micronaut project

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

https://github.com/micronaut-projects/micronaut-data/

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

The End

Slide 34

Slide 34 text

No content