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
830
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
360
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
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
250
初めての模倣学習とVLA
natsutan
0
130
FastAPI の並行処理モデルを完全に理解する
hoto17296
6
2.1k
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
280
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
350
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
340
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
230
メールのエイリアス機能を履き違えない
isshinfunada
0
250
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
170
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
120
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
120
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
340
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.5k
Ethics towards AI in product and experience design
skipperchong
2
350
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
440
The SEO Collaboration Effect
kristinabergwall1
1
530
Claude Code のすすめ
schroneko
67
230k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Designing Experiences People Love
moore
143
24k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
480
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
500
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
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ར༻๏ ϫʔΫϑϩʔϑΝΠϧͷݕࡧ