Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Delivery with GitHub Actions NYC 2019-11-20

sullis
November 20, 2019

Continuous Delivery with GitHub Actions NYC 2019-11-20

Continuous Delivery NYC meetup
November 20, 2019

#GitHubActions

sullis

November 20, 2019
Tweet

More Decks by sullis

Other Decks in Programming

Transcript

  1. Continuous Delivery
    with GitHub Actions
    Continuous Delivery NYC
    November 20, 2019
    Sean Sullivan

    View Slide

  2. About me

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. D.M.C.

    View Slide

  12. Deploy Microservices Continuously

    View Slide

  13. GITHUB
    ACTIONS

    View Slide

  14. “GitHub Actions help
    you automate your
    software development
    workflows”
    source: GitHub.com

    View Slide

  15. “You can write
    individual tasks, called
    actions, and combine
    them to create a
    custom workflow”
    source: GitHub.com

    View Slide

  16. “GitHub Actions is
    available with
    GitHub Free, GitHub
    Pro, GitHub Team, and
    GitHub Enterprise
    Cloud”
    source: GitHub.com

    View Slide

  17. GitHub
    webhooks
    GitHub
    Actions

    View Slide

  18. Workflows are custom
    automated processes
    that you can set up in
    your repository to
    build, test, package,
    release, or deploy
    source: GitHub.com

    View Slide

  19. source: GitHub.com
    Workflow file
    YAML file that defines your
    workflow configuration.
    This file lives in
    .github/workflows

    View Slide

  20. .travis.yml
    .github/workflows

    View Slide

  21. create
    deployment
    deployment_status
    pull_request
    push
    schedule
    (and many more)
    Events that trigger workflows

    View Slide

  22. Events
    Actions
    Workflows
    Core Concepts

    View Slide

  23. Core Concepts
    Runners
    Virtual Environments
    Secrets

    View Slide

  24. Runners
    GitHub-hosted
    Self-hosted

    View Slide

  25. Hosted Runners
    “GitHub hosts Linux and Windows
    runners on Standard_DS2_v2 virtual
    machines in Microsoft Azure with
    the GitHub Actions runner
    application installed”
    source: GitHub.com

    View Slide

  26. Self-Hosted Runners
    “Self-hosted runners can be
    physical, virtual, container,
    on-premises, or in a cloud”
    source: GitHub.com

    View Slide

  27. Self-Hosted Runners
    “do not use self-
    hosted runners with
    public repositories”
    source: GitHub.com

    View Slide

  28. Self-Hosted Runners
    “Forks of your public
    repository can potentially
    run dangerous code on
    your self-hosted runner
    machine”
    source: GitHub.com

    View Slide

  29. Linux
    Windows MacOS
    Virtual Environments

    View Slide

  30. Ubuntu 18.04
    Ubuntu 16.04
    Linux support

    View Slide

  31. Secrets
    access protected
    keys using the
    secrets context
    object
    source: GitHub.com

    View Slide

  32. Secrets
    source: GitHub.com

    View Slide

  33. Secrets
    source: GitHub.com

    View Slide

  34. Secrets
    source: GitHub.com

    View Slide

  35. Secrets
    source: GitHub.com

    View Slide

  36. GitHub Universe 2019

    View Slide

  37. GitHub Universe 2019
    Terraform Actions
    AWS Actions
    Twilio SMS Action

    View Slide

  38. DEMO

    View Slide

  39. GUARDRAIL
    PROJECT

    View Slide

  40. Actions tab

    View Slide

  41. Scala build

    View Slide

  42. SMS
    ACTION

    View Slide

  43. View Slide

  44. View Slide

  45. SMS: action.yml

    View Slide

  46. TERRAFORM
    ACTIONS

    View Slide

  47. View Slide

  48. Terraform: action.yml

    View Slide

  49. AWS
    ACTIONS

    View Slide

  50. https://github.com/aws-actions

    View Slide

  51. View Slide

  52. AWS: action.yml

    View Slide

  53. Recap

    View Slide

  54. Events
    Workflow
    Actions

    View Slide

  55. EDIT
    YAML

    View Slide

  56. RUN
    WORKFLOWS

    View Slide

  57. Questions?

    View Slide

  58. Thank you

    View Slide

  59. THE
    END

    View Slide