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における GitHub Actions利用法/How GitHub uses Gi...
Search
Yuichi Tanaka
October 02, 2019
Programming
820
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHubにおける GitHub Actions利用法/How GitHub uses GitHub Actions
CI/CD Test Night #5 発表資料
https://testnight.connpass.com/event/145238/
Yuichi Tanaka
October 02, 2019
More Decks by Yuichi Tanaka
See All by Yuichi Tanaka
GitHub Copilot Tips and Tricks (en)
yuichielectric
1
350
GitHub Copilot Tips and Tricks
yuichielectric
43
20k
How GitHub uses Codespaces
yuichielectric
3
1.4k
30分でわかるシステム運用アンチパターン / Operations Anti Patterns in 30 minutes
yuichielectric
14
21k
オープンソースのベストプラクティスを企業内で実践/How to implement InnerSource
yuichielectric
12
19k
GitHubにおける継続的デリバリー/How GitHub builds and deploy software
yuichielectric
12
4.6k
InnerSourceのすすめ / InnerSource
yuichielectric
8
2.1k
GitHub Pro Tips
yuichielectric
0
260
Other Decks in Programming
See All in Programming
Creating Composable Callables in Contemporary C++
rollbear
0
190
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
200
フィードバックで育てるAI開発
kotaminato
1
100
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
160
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Vite+ Unified Toolchain for the Web
naokihaba
0
660
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
760
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
120
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
130
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
110
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
210
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Optimizing for Happiness
mojombo
378
71k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
How GitHub (no longer) Works
holman
316
150k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Paper Plane (Part 1)
katiecoart
PRO
0
9.5k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Transcript
None
@yuichielectric CI/CD Test Night #5 GitHubʹ͓͚Δ GitHub Actionsར༻๏
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ Who am I? ాத
༟Ұ (yuichielectric) Solutions Engineer, GitHub
GitHub Actions
GitHubʹΈࠐΈ 20δϣϒ·Ͱฒߦ࣮ߦ͕Մೳ ʢϦϙδτϦ͋ͨΓʣ Linux, macOS, WindowsʹՃ͑ίϯςφ ͷ࣮ߦՄೳ ϚτϦοΫεϏϧυ ࣮ߦதӾཡՄೳɺݕࡧɺ֤ߦ͕ϦϯΫԽ ͞Εͨϩά
https://github.com/ruby/ruby/actions
None
None
ॲཧΛίϯϙʔωϯτԽʢactionsͱݺͿʣ ͯ͠࠶ར༻͢Δࣄ͕Մೳ - Dockerίϯςφ - JavaScript ༷ʑͳΠϕϯτͰτϦΨʔՄೳ - GitHub্ͷͯ͢ͷWebhookΠϕϯτ
- cronه๏ʹΑΔఆظ࣮ߦ - HTTPϦΫΤετ
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ 1 name: CI Build
2 on: [push, pull_request] 3 jobs: 4 build: 5 runs-on: ${{ matrix.os }} 6 strategy: 7 matrix: 8 os: [ubuntu-latest, windows-latest, macOS-latest] 9 node-version: [8.*, 10.*, 12.*] 10 steps: 11 - name: Checkout the changes from Git 12 uses: actions/checkout@v1 13 - name: Use Node.js 14 uses: actions/setup-node@v1 15 with: 16 node-version: ${{ matrix.node-version }} 17 - name: Install dependencies 18 run: npm ci 19 - name: Execute tests 20 run: npm test 21 - name: Record code coverage 22 run: npx codecov 23 env: 24 CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
https://github.com/marketplace?type=actions
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ GitHubࣾͰͷར༻ #1 - ύοέʔδϦϦʔεͷࣗಈԽ
- https://github.com/github/learning-lab-components
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ •τϦΨʔ: masterͷϚʔδ 1. υϥϑτϦϦʔεϊʔτʹه
2. package.jsonʹهࡌͷόʔδϣϯ্͕͕͍ͬͯͨΒϦϦʔεϊʔτΛpublish 3. όʔδϣϯ൪߸͕ηϚϯςΟοΫόʔδϣχϯάʹै͍ͬͯΔ͔Ͳ͏͔νΣοΫ 4. GitHub Package RegistryʹύοέʔδΛpublish https://github.com/github/learning-lab-components/blob/master/.github/workflows/release_management.yml ϫʔΫϑϩʔͷྲྀΕ
https://github.com/github/learning-lab-components/releases
https://github.com/github/learning-lab-components/packages/11396
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ 1. υϥϑτϦϦʔεϊʔτʹه release-drafter https://github.com/toolmantim/release-drafter
2. package.jsonʹهࡌͷόʔδϣϯ্͕͕͍ͬͯͨΒϦϦʔεϊʔτΛpublish node-draft-releaser https://github.com/JamesMGreene/node-draft-releaser 3. όʔδϣϯ൪߸͕ηϚϯςΟοΫόʔδϣχϯάʹै͍ͬͯΔ͔Ͳ͏͔νΣοΫ validate-semver-release https://github.com/JasonEtco/validate-semver-release 4. GitHub Package RegistryʹύοέʔδΛpublish npm publishίϚϯυΛ࣮ߦ https://github.com/github/learning-lab-components/blob/master/.github/workflows/release_management.yml ϫʔΫϑϩʔͷྲྀΕ
https://github.com/toolmantim/release-drafter
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ GitHubࣾͰͷར༻ #2 - ΣϒαΠτͷը૾αΠζͷ࠷దԽ
- https://github.com/customer-stories ϦϙδτϦprivateͰ͢ ><
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ •τϦΨʔ: push, pull-request 1.
ࠩதͷը૾ϑΝΠϧͷαΠζΛνΣοΫ͠ɺҰఆҎ্ͷαΠζͷը૾ ॖখͯ͠commit & push 2. ϓϧϦΫΤετʹαΠζͷࠩͷίϝϯτΛߘ ϫʔΫϑϩʔͷྲྀΕ
https://github.com/calibreapp/image-actions
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ 1 name: Compress images
2 on: pull_request 3 jobs: 4 build: 5 name: calibreapp/image-actions 6 runs-on: ubuntu-latest 7 steps: 8 - uses: actions/checkout@master 9 - name: calibreapp/image-actions 10 uses: docker://calibreapp/github-image-actions 11 env: 12 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ ࠓޙͷ༧ఆ
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ 2019/11/13ʹGA༧ఆ
Self hosted runner ࣗ͝ͷϋʔυΣΞ/VM্Ͱͷ࣮ߦ ۙʑఏڙ։࢝༧ఆ
https://twitter.com/natfriedman/status/1178321206321143808
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ • UIͷվળ • γϯλοΫεͷՃ
• ϒϥβ্ͰYAMLϑΝΠϧΛฤू͢ΔࡍͷΦʔτίϯϓϦʔτɺΤϥʔදࣔ • υΩϡϝϯτͷվળ ͦͷଞӶҙ։ൃத
https://github.com/features/actions
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ Tips
CI/CD Test Night #5 GitHubʹ͓͚ΔGitHub Actionsར༻๏ ϫʔΫϑϩʔϑΝΠϧͷݕࡧ