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 の Tips
Search
kimizuy
November 17, 2022
Programming
0
210
最近知った GitHub Actions の Tips
2022/11/16に開催された第2回 LT 練習会(仮)の発表資料です。
https://gaji-lt.connpass.com/event/263763/
kimizuy
November 17, 2022
Tweet
Share
More Decks by kimizuy
See All by kimizuy
実践Server Actions
kimizuy
0
24
Exploring Hono
kimizuy
0
40
ざっくり知る tamagui v1
kimizuy
0
110
個人ブログをNext13のApp Directoryに移行しました
kimizuy
0
270
5分で予習する Next.js 「Layouts RFC」
kimizuy
0
580
Other Decks in Programming
See All in Programming
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
120
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
6
4k
sappoRo.R #12 初心者セッション
kosugitti
0
250
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
120
Spring gRPC について / About Spring gRPC
mackey0225
0
220
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
2
280
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
580
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
320
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
110
Introduction to kotlinx.rpc
arawn
0
700
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing Experiences People Love
moore
140
23k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
GitHub's CSS Performance
jonrohan
1030
460k
Speed Design
sergeychernyshev
27
790
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Documentation Writing (for coders)
carmenintech
67
4.6k
Music & Morning Musume
bryan
46
6.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Six Lessons from altMBA
skipperchong
27
3.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Transcript
最近知った GitHub Actions の Tips 2022/11/16 第2回LT練習会(仮)発表資料 最近知った GitHub Actions
の Tips @kimizuy
自己紹介 ID: @kimizuy 株式会社 Gaji-Labo フロントエンドエンジニア 最近は React や TypeScript
をメインで使っています。 趣味はスプラトゥーン 3 です。 https://github.com/kimizuy https://twitter.com/kimizuy 最近知った GitHub Actions の Tips @kimizuy
最近知った GitHub Actions の便利機能をいくつか紹介します! 最近知った GitHub Actions の Tips @kimizuy
そもそも GitHub Actions とは ソフトウェアのワークフローを自動化できる CI/CD。GitHub から直接、コードのビル ド、テスト、デプロイができる プルリクエスト作成のタイミングでテストを実行したりマージをきっかけに再デプロイ を実行したりといったワークフローを
GitHub のプラットホーム上で一貫して行うこと ができる 最近知った GitHub Actions の Tips @kimizuy
基本形: push したらワークフローを実行する branches :main ブランチへの push paths : 指定したパスのファイル変更のみで実行する
on: push: branches: - main paths: - 'src/**' 最近知った GitHub Actions の Tips @kimizuy
ワークフローを手動実行できるように する on: workflow_dispatch: 参考: Manually running a workflow https://docs.github.com/en/actions/managing-
workflow-runs/manually-running-a-workflow 最近知った GitHub Actions の Tips @kimizuy
ワークフローから同じリポジトリにあるほかのワークフローを呼びだす 呼び出す側: # deploy.yml jobs: call-foo-workflow: needs: deploy uses: kimizuy/awesome-repo/.github/workflows/generate-sitemap.yml@main
呼び出される側: # generate-sitemap.yml on: workflow_call: 最近知った GitHub Actions の Tips @kimizuy
参考: on.workflow_call https://docs.github.com/en/enterprise-cloud@latest/actions/using-workflows/workflow- syntax-for-github-actions#onworkflow_call 注意点として、 workflow_call は同一のリポジトリの呼び出しのみ対応している。 Both workflows are
in the same repository. Access to reusable workflows 最近知った GitHub Actions の Tips @kimizuy
ワークフローから別のリポジトリにあるほかのワークフローを呼びだす GitHub API を使って repository_dispatch という Webhook イベントを作成することで 別のリポジトリのワークフローに通知、起動できる。 以下では、peter-evans/repository-dispatch@v2
というプラグインを使っている。 通知側: jobs: steps: - name: Dispatch update-foo uses: peter-evans/repository-dispatch@v2 with: token: ${{ secrets.REPOSITORY_DISPATCH_TOKEN }} repository: 'kimizuy/awesome-another-repo' event-type: update-foo ↓ 最近知った GitHub Actions の Tips @kimizuy
通知される側: on: repository_dispatch: types: [update-foo] update-foo というイベントを受け取ってワークフローが実行される。 参考: repository_dispatch https://docs.github.com/en/actions/using-workflows/events-that-trigger-
workflows#repository_dispatch 最近知った GitHub Actions の Tips @kimizuy
重複したワークフローの実行を中断する 同じワークフローが複数実行中のとき、最後のワークフローのみを実行し以前のワークフロ ーはキャンセルする。 デフォルトはキャンセルされないので cancel-in-progress: true を指定する。 on: concurrency: group:
${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true 参考: GitHub Actions で連続 push した時に止めるアレ https://zenn.dev/katzumi/articles/using-concurrency-at-github-actions 最近知った GitHub Actions の Tips @kimizuy
まとめ 基本形: push したらワークフローを実行する ワークフローを手動実行できるようにする ワークフローから同じリポジトリにあるほかのワークフローを呼びだす ワークフローから別のリポジトリにあるほかのワークフローを呼びだす 重複したワークフローの実行を中断する 最近知った GitHub
Actions の Tips @kimizuy
以上、ご静聴いただきありがとうございました。 最近知った GitHub Actions の Tips @kimizuy
最近知った GitHub Actions の Tips @kimizuy