Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitHub Actions 2021-12-16
Search
sullis
December 16, 2021
Programming
0
28
GitHub Actions 2021-12-16
GitHub Actions overview
December 16, 2021
sullis
December 16, 2021
Tweet
Share
More Decks by sullis
See All by sullis
Netty Chicago Java User Group 2024-04-17
sullis
0
240
Java 21 - Portland Java User Group 2023-10-24
sullis
0
230
Microbenchmarking with JMH - Portland 2023-03-14
sullis
0
100
Code generation on the Java VM 2022-04-19
sullis
0
83
Mockito 2022-01-25
sullis
0
150
Apache Struts and the Equifax data breach 2021-06-03
sullis
0
46
Guardrail State of the Union 2021-04-13
sullis
0
280
Guardrail: State of the Union 2021-03-18
sullis
0
140
Java on AWS 2020-12-15
sullis
0
200
Other Decks in Programming
See All in Programming
TypeScriptでもLLMアプリケーション開発 / LLM Application In Typescript
rkaga
5
1.3k
Documentation testsの恩恵 / Documentation testing benefits
ssssota
1
540
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
600
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
14
4.3k
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
6
2k
SIMD Parallel Programming with the Vector API
josepaumard
0
250
2024 コーディング研修
ckazu
2
630
TypeScriptとGraphQLで実現する 型安全なAPI実装 / TSKaigi 2024
hokaccha
5
2.6k
ts-morphを使ってコードリプレイスとASTへのハードルを下げる!
nyawach
5
320
ソースコードを美しくたもつために ~コードレビューの認知限界を突破し、年間400リリースを達成する~
kotauchisunsun
1
150
GitHub Actionsの痒いところを埋めるサードパーティーランナー
dora1998
1
190
Adding Security to Microcontroller Ruby
sylph01
0
140
Featured
See All Featured
Optimizing for Happiness
mojombo
370
69k
Ruby is Unlike a Banana
tanoku
96
10k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
4 Signs Your Business is Dying
shpigford
176
21k
Into the Great Unknown - MozCon
thekraken
15
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
The Art of Programming - Codeland 2020
erikaheidi
43
12k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Navigating Team Friction
lara
179
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
Transcript
GitHub Actions 2021-12-16 Sean Sullivan
Agenda GitHub Actions Core concepts Security
GITHUB ACTIONS
“GitHub Actions help you automate your software development work fl
ows” source: GitHub.com
“You can write individual tasks, called actions, and combine them
to create a custom work fl ow” source: GitHub.com
Getting started
Actions tab
Actions tab Starter Work fl ow
Work fl ow editor
Work fl ow editor
Work fl ow editor
Work fl ow editor checkout
Work fl ow editor setup-java
Work fl ow editor run: sbt test
Work fl ow editor click
Work fl ow editor click
.github/work fl ows
Actions tab
Actions tab
Actions tab
Ruby On Rails uses GitHub Actions
Ruby on Rails
Ruby on Rails
Ruby on Rails
Ruby on Rails
Redis Dropwizard Log4j Open source projects using GitHub Actions twilio-java
Guardrail Net fl ix Zuul
Core concepts
Events Actions Work fl ows
create deployment deployment_status issue created pull_request push schedule label created
(and many more) Events trigger work fl ows
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
GitHub webhooks GitHub Actions work fl ows
Actions are individual tasks that you can combine to create
jobs source: GitHub.com
You can create custom Actions or use Actions provided by
the GitHub community source: GitHub.com
action.yml declares the inputs and outputs for an action source:
GitHub.com
Types of Actions: JavaScript Docker source: GitHub.com
“GitHub Actions is available with GitHub Free, GitHub Pro, GitHub
Team, and GitHub Enterprise” source: GitHub.com
What if I already have an existing CI tool enabled?
Keep your existing CI tool and enable GitHub Actions
Evaluate both CI tools running side-by-side
Actions runtime Runners Virtual Environments
Runners GitHub-hosted Self-hosted
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
Self-Hosted Runners “Self-hosted runners can be physical, virtual, container, on-premises,
or in a cloud” source: GitHub.com
Self-Hosted Runners
Self-Hosted Runners C Sharp
Virtual Environments
Ubuntu 20.04 Ubuntu 18.04 Linux support
Third party actions
AWS Actions Azure Actions Google Cloud Actions
Pulumi Actions Terraform Actions Docker Actions
https://github.com/aws-actions
None
AWS: action.yml
Security
Secrets access protected keys using the secrets context object source:
GitHub.com
Secrets source: GitHub.com
Secrets source: GitHub.com
Secrets source: GitHub.com
Secrets source: GitHub.com
Self-Hosted Runners “do not use self- hosted runners with public
repositories” source: GitHub.com
Self-Hosted Runners “Forks of your public repository can potentially run
dangerous code on your self-hosted runner machine” source: GitHub.com
Final thoughts
“CI ensures that the code that we create, as a
team, works by providing us with rapid feedback on any problems”
GitHub Actions YAML Automation Conclusion
Thank you twitter.com/tinyrobots github.com/sullis
Bonus slides
None
THE END