Slide 1

Slide 1 text

Miguel Palhas / @naps62

Slide 2

Slide 2 text

PS: We're hiring!!

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

git push

Slide 5

Slide 5 text

Not everything is a commit

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

@ Utrust Multiple live environments: Development Staging/QA Sandbox/Production Deployed ASAP ~weekly ~weekly'ish

Slide 8

Slide 8 text

git checkout -b release-2020-01-14

Slide 9

Slide 9 text

git push deploy Wait... So only developers can deploy??

Slide 10

Slide 10 text

- approval_step type: approval requires: - approval_step workflows: 1 deploy: 2 jobs: 3 4 5 6 - deploy: 7 8 9

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

name: Github Action Example on: push: branches: - master jobs: ... 1 2 3 4 5 6 7 8 9 Triggers

Slide 15

Slide 15 text

name: Github Action Example on: push: pull_request: types: [opened, synchronize] issue_comment: types: [created] jobs: ... 1 2 3 4 5 6 7 8 9 10 11 12 13 Triggers

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

name: Github Action Example jobs: test: runs-on: ubuntu-latest container: node:9.11.2 steps: - name: Hello run: echo "Hello World" 1 2 3 4 5 6 7 8 9 10 Commands

Slide 18

Slide 18 text

name: Deploy on: [deployment] jobs: test: steps: - name: Checkout run: actions/checkout@v1 with: ref: ${{ github.event.deployment.ref }} 1 2 3 4 5 6 7 8 9 10 11 Reusable Actions

Slide 19

Slide 19 text

steps: - name: Trigger Deploy uses: actions/[email protected] with: script: | console.log("wow, javascript!") await github.repos.createDeployment({ # ... }) 1 2 3 4 5 6 7 8 9 10 11 12 13 github-script

Slide 20

Slide 20 text

1. Consumes the Github API, not just `git push` 2. More intuitive flows for our team 3. Powerful reusability (JS / Docker actions)

Slide 21

Slide 21 text

Watch: ChatOps at GitHub - Jesse Newland RubyFuza 2013

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

1. Preserves history 2. Live documentation 3. Full transparency

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Miguel Palhas / @naps62