CI/CD with GitHub Actions - Auto Code Nov 28th 2019

CI/CD with GitHub Actions - Auto Code Nov 28th 2019

How to CI/CD with GitHub actions is the main subject of this talk. I shared also first experiences with self hosted runners.

4de70370869f561b5bb5a816d2be3198?s=128

Lothar Schulz

November 28, 2019
Tweet

Transcript

  1. Continuous Integration & Delivery with GitHub Actions Auto Code EU

    Lothar Schulz 2019 11 28 pic: © moovel | Lothar Schulz | 2019-11-28 @lothar_schulz
  2. pic: © moovel | Lothar Schulz | 2019-11-28 @lothar_schulz

  3. pic: © moovel @lothar_schulz

  4. lotharschulz.info github.com/lotharschulz speakerdeck.com/lothar @lothar_schulz lnkd.in/lotharschulz Me @lothar_schulz

  5. GitHub Actions Workflow Automation @lothar_schulz

  6. Built-in CI/CD GitHub Actions @lothar_schulz

  7. What are GitHub Actions? Orchestrate any workflow, based on any

    event, while GitHub manages the execution, provides rich feedback, and secures every step along the way. @lothar_schulz https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/
  8. What are GitHub Actions? With GitHub Actions, workflows and steps

    are just code in a repository, so you can create, share, reuse, and fork your software development practices. @lothar_schulz https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/
  9. @lothar_schulz

  10. Use Cases pic: © moovel @lothar_schulz

  11. Use cases - Continuous Delivery { } Code

  12. Use cases - Continuous Delivery { } Code Test

  13. Use cases - Continuous Delivery { } Code Test Deploy

  14. Use cases - Library publish Test

  15. Use cases - Library publish Test Package

  16. Use cases - Library publish Test Package Publish

  17. Use cases - Self Hosted Runners GitHub

  18. Use cases - Self Hosted Runners GitHub On Premise

  19. Use cases - Self Hosted Runners GitHub On Premise Ports

    22 & 443
  20. How To's pic: © moovel @lothar_schulz

  21. Logging • Live Logs • Terminal like feedback • Searchable

    @lothar_schulz
  22. Jobs @lothar_schulz Jobs can run at the same time in

    parallel or be dependent on the status of a previous job and run sequentially. build-and-dockerhub-push-if-linux: needs: [benchmark, test]
  23. Conditionals @lothar_schulz if: matrix.os == 'ubuntu-18.04'

  24. Conditionals @lothar_schulz if: matrix.os == 'ubuntu-18.04' Syntax anyone ?

  25. Conditionals @lothar_schulz if: matrix.os == 'ubuntu-18.04' Syntax anyone ? You

    are covered: actions-cheat-sheet
  26. Matrix - Builds on Linux, macOS, Windows @lothar_schulz strategy: fail-fast:

    false matrix: os: [macOS-10.14, ubuntu-18.04, windows-2019] runs-on: ${{ matrix.os }}
  27. Matrix @lothar_schulz

  28. Matrix @lothar_schulz

  29. Matrix @lothar_schulz

  30. Demo @lothar_schulz

  31. There is more • Contexts available on run time •

    Triggered by own events • Package manager and gh docker registry integrated @lothar_schulz
  32. There is even more • Encrypted secrets • Core concepts

    • Self hosted runners for free once available @lothar_schulz
  33. @lothar_schulz pic: © moovel I am sure you have questions

  34. THANK YOU. | Lothar Schulz | 2019-10-17 @lothar_schulz pic: ©

    moovel