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

GitHub Actions 2021-12-16

sullis
December 16, 2021

GitHub Actions 2021-12-16

GitHub Actions overview
December 16, 2021

sullis

December 16, 2021
Tweet

More Decks by sullis

Other Decks in Programming

Transcript

  1. GitHub Actions
    2021-12-16 Sean Sullivan

    View Slide

  2. Agenda
    GitHub Actions
    Core concepts
    Security

    View Slide

  3. GITHUB


    ACTIONS

    View Slide

  4. “GitHub Actions help
    you automate your
    software development
    work
    fl
    ows”
    source: GitHub.com

    View Slide

  5. “You can write
    individual tasks, called
    actions, and combine
    them to create a
    custom work
    fl
    ow”
    source: GitHub.com

    View Slide

  6. Getting started

    View Slide

  7. Actions tab

    View Slide

  8. Actions tab
    Starter Work
    fl
    ow

    View Slide

  9. Work
    fl
    ow editor

    View Slide

  10. Work
    fl
    ow editor

    View Slide

  11. Work
    fl
    ow editor

    View Slide

  12. Work
    fl
    ow editor
    checkout

    View Slide

  13. Work
    fl
    ow editor
    setup-java

    View Slide

  14. Work
    fl
    ow editor
    run: sbt test

    View Slide

  15. Work
    fl
    ow editor
    click

    View Slide

  16. Work
    fl
    ow editor
    click

    View Slide

  17. .github/work
    fl
    ows

    View Slide

  18. Actions tab

    View Slide

  19. Actions tab

    View Slide

  20. Actions tab

    View Slide

  21. Ruby On Rails
    uses
    GitHub Actions

    View Slide

  22. Ruby on Rails

    View Slide

  23. Ruby on Rails

    View Slide

  24. Ruby on Rails

    View Slide

  25. Ruby on Rails

    View Slide

  26. Redis
    Dropwizard
    Log4j
    Open source projects
    using GitHub Actions
    twilio-java
    Guardrail
    Net
    fl
    ix Zuul

    View Slide

  27. Core concepts

    View Slide

  28. Events Actions
    Work
    fl
    ows

    View Slide

  29. create
    deployment
    deployment_status
    issue created
    pull_request
    push
    schedule
    label created
    (and many more)
    Events trigger work
    fl
    ows

    View Slide

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

    View Slide

  31. GitHub
    webhooks
    GitHub
    Actions
    work
    fl
    ows

    View Slide

  32. Actions are individual
    tasks that you can
    combine to create jobs
    source: GitHub.com

    View Slide

  33. You can create custom
    Actions or use Actions
    provided by the GitHub
    community
    source: GitHub.com

    View Slide

  34. action.yml
    declares the inputs
    and outputs for
    an action
    source: GitHub.com

    View Slide

  35. Types of Actions:
    JavaScript
    Docker
    source: GitHub.com

    View Slide

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

    View Slide

  37. What if I
    already have an
    existing CI tool
    enabled?

    View Slide

  38. Keep your
    existing CI tool
    and enable
    GitHub Actions

    View Slide

  39. Evaluate both
    CI tools
    running
    side-by-side

    View Slide

  40. Actions runtime
    Runners
    Virtual Environments

    View Slide

  41. Runners
    GitHub-hosted
    Self-hosted

    View Slide

  42. 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

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

    View Slide

  44. Self-Hosted Runners

    View Slide

  45. Self-Hosted Runners
    C Sharp

    View Slide

  46. Virtual Environments

    View Slide

  47. Ubuntu 20.04
    Ubuntu 18.04
    Linux support

    View Slide

  48. Third party
    actions

    View Slide

  49. AWS Actions
    Azure Actions
    Google Cloud Actions

    View Slide

  50. Pulumi Actions
    Terraform Actions
    Docker Actions

    View Slide

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

    View Slide

  52. View Slide

  53. AWS: action.yml

    View Slide

  54. Security

    View Slide

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

    View Slide

  56. Secrets
    source: GitHub.com

    View Slide

  57. Secrets
    source: GitHub.com

    View Slide

  58. Secrets
    source: GitHub.com

    View Slide

  59. Secrets
    source: GitHub.com

    View Slide

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

    View Slide

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

    View Slide

  62. Final thoughts

    View Slide

  63. “CI ensures that the code that we
    create, as a team, works by providing
    us with rapid feedback
    on any problems”

    View Slide

  64. GitHub Actions
    YAML
    Automation
    Conclusion

    View Slide

  65. Thank you
    twitter.com/tinyrobots
    github.com/sullis

    View Slide

  66. Bonus slides

    View Slide

  67. View Slide

  68. THE


    END

    View Slide