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 CI/CD Update
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
bakunyo
August 18, 2019
Programming
250
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
130
AMP 完全に理解した
bakunyo
0
380
NNにふれてみて
bakunyo
0
1k
RoRoRoRoR
bakunyo
0
940
Other Decks in Programming
See All in Programming
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.5k
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.2k
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
150
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.3k
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.5k
Modding RubyKaigi for Myself
yui_knk
0
900
net-httpのHTTP/2対応について
naruse
0
450
dRuby over BLE
makicamel
2
320
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
470
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
140
GitHub Copilot CLIのいいところ
htkym
2
1.3k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Unsuck your backbone
ammeep
672
58k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
160
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
140
Context Engineering - Making Every Token Count
addyosmani
9
950
How to build a perfect <img>
jonoalderson
1
5.6k
Design in an AI World
tapps
1
230
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
The agentic SEO stack - context over prompts
schlessera
0
800
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