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

GitHub Actions 2021-12-16

99d4c0ed3c8027ea1c37b53d6441d042?s=47 sullis
December 16, 2021

GitHub Actions 2021-12-16

GitHub Actions overview
December 16, 2021

99d4c0ed3c8027ea1c37b53d6441d042?s=128

sullis

December 16, 2021
Tweet

More Decks by sullis

Other Decks in Programming

Transcript

  1. GitHub Actions 2021-12-16 Sean Sullivan

  2. Agenda GitHub Actions Core concepts Security

  3. GITHUB ACTIONS

  4. “GitHub Actions help you automate your software development work fl

    ows” source: GitHub.com
  5. “You can write individual tasks, called actions, and combine them

    to create a custom work fl ow” source: GitHub.com
  6. Getting started

  7. Actions tab

  8. Actions tab Starter Work fl ow

  9. Work fl ow editor

  10. Work fl ow editor

  11. Work fl ow editor

  12. Work fl ow editor checkout

  13. Work fl ow editor setup-java

  14. Work fl ow editor run: sbt test

  15. Work fl ow editor click

  16. Work fl ow editor click

  17. .github/work fl ows

  18. Actions tab

  19. Actions tab

  20. Actions tab

  21. Ruby On Rails uses GitHub Actions

  22. Ruby on Rails

  23. Ruby on Rails

  24. Ruby on Rails

  25. Ruby on Rails

  26. Redis Dropwizard Log4j Open source projects using GitHub Actions twilio-java

    Guardrail Net fl ix Zuul
  27. Core concepts

  28. Events Actions Work fl ows

  29. create deployment deployment_status issue created pull_request push schedule label created

    (and many more) Events trigger work fl ows
  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
  31. GitHub webhooks GitHub Actions work fl ows

  32. Actions are individual tasks that you can combine to create

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

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

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

  36. “GitHub Actions is available with GitHub Free, GitHub Pro, GitHub

    Team, and GitHub Enterprise” source: GitHub.com
  37. What if I already have an existing CI tool enabled?

  38. Keep your existing CI tool and enable GitHub Actions

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

  40. Actions runtime Runners Virtual Environments

  41. Runners GitHub-hosted Self-hosted

  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
  43. Self-Hosted Runners “Self-hosted runners can be physical, virtual, container, on-premises,

    or in a cloud” source: GitHub.com
  44. Self-Hosted Runners

  45. Self-Hosted Runners C Sharp

  46. Virtual Environments

  47. Ubuntu 20.04 Ubuntu 18.04 Linux support

  48. Third party actions

  49. AWS Actions Azure Actions Google Cloud Actions

  50. Pulumi Actions Terraform Actions Docker Actions

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

  52. None
  53. AWS: action.yml

  54. Security

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

    GitHub.com
  56. Secrets source: GitHub.com

  57. Secrets source: GitHub.com

  58. Secrets source: GitHub.com

  59. Secrets source: GitHub.com

  60. Self-Hosted Runners “do not use self- hosted runners with public

    repositories” source: GitHub.com
  61. Self-Hosted Runners “Forks of your public repository can potentially run

    dangerous code on your self-hosted runner machine” source: GitHub.com
  62. Final thoughts

  63. “CI ensures that the code that we create, as a

    team, works by providing us with rapid feedback on any problems”
  64. GitHub Actions YAML Automation Conclusion

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

  66. Bonus slides

  67. None
  68. THE END