Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
GitHub Actions CI/CD Update
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
bakunyo
August 18, 2019
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHub Actions CI/CD Update
bakunyo
August 18, 2019
More Decks by bakunyo
See All by bakunyo
合宿成果@日本色
bakunyo
0
150
AMP 完全に理解した
bakunyo
0
440
NNにふれてみて
bakunyo
0
1.1k
RoRoRoRoR
bakunyo
0
990
Other Decks in Programming
See All in Programming
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7.1k
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
230
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
170
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
210
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
190
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1k
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
150
Modernizing iOS Apps
seyfoyun
0
130
JIS keyboard support in Omarchy
lef237
0
170
AI-Powered Domain-Driven Design
ziobrando
0
350
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
5
1.3k
dotNET_vulnclicker_intro.pdf
deka_morita
0
160
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The Curious Case for Waylosing
cassininazir
1
590
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
The Invisible Side of Design
smashingmag
301
52k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Done Done
chrislema
187
17k
Abbi's Birthday
coloredviolet
4
11k
Everyday Curiosity
cassininazir
0
380
Building Flexible Design Systems
yeseniaperezcruz
330
41k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
Transcript
GitHub Actions ۙگ 2019.8.18 Sun Shinjuku.LT@ຊڮ @bakunyo
About me • @bakunyo • freelance • ࠷ۙυϥϚʮ͋ͳͨͷ൪Ͱ͢ʯʹϋϚΓத
ࠓճͷ༰ • GitHub Actions: ࡢ10݄ͷ GitHub Universe Ͱ ൃද͞Εͨ৽ػೳʢݱࡏ β
൛ʣ • 2݄ͷ Shinjuku.LT ͰͦΕʹ͍ͭͯൃද • https://blog.bakunyo.com/2019/02/26/github-actions-git-pr- release/ • ࠓճͦͷ UPDATE
https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/
GitHub Special Product Announcement • 2019.08.08 GitHubHQ ͰΠϕϯτ͕։࠵͞Εͨ • ༰
GitHub Actions ͷ࠷৽ใʹ͍ͭͯ • ϝΠϯ built-in CI/CD ɺͦΕҎ֎৭ʑ
Documentation Update • Core Concepts ͕ཧ͞Εͨ • Workflow ͷఆ͕ٛ HCL
→ YAML ʹมߋ • (چ) https://developer.github.com/actions/ • (৽) https://help.github.com/en/categories/ automating-your-workflow-with-github-actions
Core Concepts ͕ཧ͞Εͨ name: Greet Everybody on: [push] jobs: build:
name: Greeting runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: ./hello-world-action with: who-to-greet: 'Octocat' id: hello - run: echo "The time was $ {{ steps.hello.outputs.time }}" workflow event job step instance workflow run
Workflow ͷఆ͕ٛ HCL → YAML ʹมߋ ɾ⾠ HCL ͷαϙʔτ 2019.9.30
·Ͱ ɾmigration tool ͕༻ҙ͞ΕͯΔ ɹhttps://help.github.com/en/articles/migrating-github-actions-from-hcl-syntax-to-yaml-syntax
࣮ߦͯ͠Έͨ $ ~/Downloads/migrate-actions Created workflow .github/workflows/release.yml Created workflow .github/workflows/push.yml You
can now delete your main.workflow file. If you have any .yml files in .github/workflows your main.workflow will be ignored. rm .github/main.workflow git add -A .github/main.workflow .github/workflows/*.yml git commit -m 'converted main.workflow to Actions V2 yml files' Thanks for being a ________.__ __ ___ ___ ___. _____ __ .__ / _____/|__|/ |_ / | \ __ _\_ |__ / _ \ _____/ |_|__| ____ ____ ______ / \ ___| \ __\/ ~ \ | \ __ \ / /_\ \_/ ___\ __\ |/ _ \ / \ / ___/ \ \_\ \ || | \ Y / | / \_\ \ / | \ \___| | | ( <_> ) | \\___ \ \______ /__||__| \___|_ /|____/|___ / \____|__ /\___ >__| |__|\____/|___| /____ > \/ \/ \/ \/ \/ \/ \/ __________ __ ___________ __ \______ \ _____/ |______ \__ ___/___ _______/ |_ ___________ | | _// __ \ __\__ \ | |_/ __ \ / ___/\ __\/ __ \_ __ \ | | \ ___/| | / __ \_ | |\ ___/ \___ \ | | \ ___/| | \/ |______ /\___ >__| (____ / |____| \___ >____ > |__| \___ >__| \/ \/ \/ \/ \/ \/ ɾWorkflow ຖʹYAMLϑΝΠϧ͕ࣗಈੜ͞ΕΔ ɾίϝϯτফ͑Δ ɾbranch Λ filter action Ͱఆظͨ͠ͱ͜ΖࣗͰॻ͖͑ͨํ͕ྑͦ͞͏ʢޙड़ʣ ɾ֓Ͷͳ͠
Before workflow "Create PR to master" { resolves = ["git-pr-release"]
on = "push" } action "Filter branch" { uses = "actions/bin/filter@24a566c2524e05ebedadef0a285f72dc9b631411" args = "branch develop" } action "git-pr-release" { uses = "bakunyo/git-pr-release-action@master" needs = ["Filter branch"] secrets = [ "GITHUB_TOKEN", ] env = { GIT_PR_RELEASE_BRANCH_STAGING = "develop" } }
After name: Create PR to master on: push: branches: -
develop jobs: filterBranch: name: Filter branch runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: git-pr-release uses: bakunyo/git-pr-release-action@master env: GIT_PR_RELEASE_BRANCH_STAGING: develop GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
What’s built-in CI/CD? • ͜Ε·Ͱͷ GitHub Actions Ͱ࣍ୈͰ CI/ CD
͋ΔఔͰ͖ͨ • ࠓճͷൃදͰ CI/CD Λαϙʔτ͢Δػೳ͕૿͑ͨ • ػೳΛෳ߹తʹར༻͢Δ͜ͱͰɺbuilt-in CI/CD ͱݴ͍ͬͯΔʢʁʣ
Matrix builds strategy: matrix: node: [6, 8, 10] os: [ubuntu-14.04,
ubuntu-18.04] ɾOSݴޠόʔδϣϯ͝ͱͷϏϧυΛฒྻͰͰ͖Δ ɾฒྻ 1 repository 20 jobs ·Ͱ ɾˣͷ߹ɺ 3 x 2 = 6 jobs ΛฒྻͰ࣮ߦՄೳ
Events on: push: branches: - master paths: - test/* schedule:
- cron: '0 * * * *' ɾ͜Ε·Ͱಉ༷ɺGitHub ͷ֤छΠϕϯτΛൃՐ݅ʹͰ͖Δ ɾBranch ͷϑΟϧλָ͕ʹͳͬͨ ɹʢ͜Ε·ͰϑΟϧλ༻ͷ GitHub Action Λ͏ඞཁ͕͋ͬͨʣ ɾՃ͑ͯɺpath ࢦఆ cron syntax ʹΑΔఆٛՄೳʹͳͬͨ
Live streaming logs ɾϩάΛϥΠϒετϦʔϛϯάͰ৴ ɾColor code Emoji Λαϙʔτ ɾ֤ߦ͕ϦϯΫͱͯ͠γΣΞՄೳ
Secret Store ɾSecrets Λཧ͢Δઐ༻ϖʔδ͕༻ҙ͞Εͨ uses: actions/hello-world@master env: SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK
}}
“GitHub Actions” Generally Available on November 13.
Reference • https://github.com/features/actions • https://live-stream.github.com/? utm_source=announcemet&utm_medium=email&utm_campaign=livestream-080619 • https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/ • https://help.github.com/en/categories/automating-your-workflow-with-github-actions