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
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
360
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
500
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
290
源内ハンズオン概要編
hideg
0
180
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
210
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
860
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
680
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
170
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
260
Cloudflare is Agents
chimame
0
160
リアルな遅延を測る仕様
kota_yata
1
100
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
570
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Prompt Engineering for Job Search
mfonobong
0
400
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
340
The Cult of Friendly URLs
andyhume
79
7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
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ར༻๏ ϫʔΫϑϩʔϑΝΠϧͷݕࡧ