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のキャッシュと手を挙げることの大切さとそれに必要なこと
Search
Satoshi Kaneyasu
October 29, 2024
Programming
5
560
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
Satoshi Kaneyasu
October 29, 2024
Tweet
Share
More Decks by Satoshi Kaneyasu
See All by Satoshi Kaneyasu
お客様とSIerではじめたスクラム開発(で得た学び)
satoshi256kbyte
0
71
From Pipenv to UV: Migrating to a Monorepoto Tame a Complex Repository
satoshi256kbyte
0
11
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
980
ディレクトリ構成と設定ファイルから考えるSIerのVibe Coding
satoshi256kbyte
0
32
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
330
生産性の壁を越えろ! 何がなんでも計測する
satoshi256kbyte
1
34
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
280
オープンセミナー2025@広島LT技術ブログを続けるには
satoshi256kbyte
0
180
AWS Summit Japan 2024と2025の比較
satoshi256kbyte
0
21
Other Decks in Programming
See All in Programming
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
160
チームの境界をブチ抜いていけ
tokai235
0
130
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.5k
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
190
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
960
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
800
CSC305 Lecture 04
javiergs
PRO
0
260
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
1.5k
CSC509 Lecture 03
javiergs
PRO
0
330
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1.2k
CSC509 Lecture 01
javiergs
PRO
1
440
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
480
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Context Engineering - Making Every Token Count
addyosmani
5
210
The Language of Interfaces
destraynor
162
25k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
850
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Docker and Python
trallard
46
3.6k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
KATA
mclloyd
32
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Transcript
GitHub Actionsのキャッシュと 手を挙げることの大切さと それに必要なこと 2024.10.30 SATOSHI KANEYASU
自己紹介 氏名:兼安 聡 所属:株式会社サーバーワークス アプリケーションサービス部 在住:広島(フルリモート) 担当:DevOps、PM、SM 2024 Japan AWS
Top Engineers (Database) 2024 Japan AWS All Certifications Engineers 認定スクラムマスター X:@satoshi256kbyte 去年よく触ってたDBはAmazon Timestream 今年はAmazon Neptuneをよく触ってます
今日のお話 • GitHub Actionsでビルド処理してたけど微妙に遅かったのでチューニン グしてみました。 • やってたらちょっと思うところが出たのでその話もさせていただきます。 • プロジェクトの一員として日々業務に当たられているプログラマーをイ メージして書いてみました。
GitHub Actions、使ってますか? • GitHub Actionsは、リポジトリ内にYAMLファイルを置くと、GitHubへ の操作をトリガーに、YAMLに書いた処理を自動で行うものです。 • いわゆるCI/CDでよく使います。 • https://github.co.jp/features/actions
GitHub Actionsのサンプル ビルド用コンテナのOSの指定 ソースのチェックアウト Pythonの準備 pipenvのインストール 依存ライブラリのインストール ※ここに数十秒かかる 自動テストの実行
この中でチューニングを試みる ここがチューニングができそう なのでやってみます
actions/cache@v4でキャッシュを効かせる PIPENV_VENV_IN_PROJECT: “true”とした場合、 pipenvでインストールしたライブラリは、 プロジェクトフォルダの.venvに溜まるのでここをキャッシュ対象とする Pipfile.lockが変わってない=必要なライブラ リが変わってないとみなせるので、 Pipefile.lockをハッシュ化したものをキーの 一部とする キャッシュがヒットしない場合のみ、
ライブラリをインストールするように変更
理屈はわかるけど、これを誰がやるのか? • アプリエンジニアの方がやるのがベターだと思いますが、ライブラリ管 理ツールの動きをしっかり把握してる人って案外少ないので、手を挙げ る人は少ないかも • パイプラインを作ってくれる人が外部にいる場合もあるでしょうが、 その方にチューニングまで求めるのはちょっと微妙な気がします • (余談)プラットフォームエンジニアという役割の人は、そうそう
現れないと思います • リーダーが明確に指示を出す/誰かが手を挙げる しないとこの辺の改 善はおざなりになるかも
<まとめ> 手を挙げることの大切さと、それに必要なこと • 今回述べたようなあんまり皆がやりたがらないことに手を挙げる人が リーダーとかアーキテクトになってくのだと思います • やったことないことに挑戦するのは勇気がいります • 何がどうなって動いていると、やったことなくてもあたりをつけること ができるので、それが勇気の源泉になることがあります
• 目の前の機能の実装で忙しいでしょうか、たまには手を止めて自分の目 の前のコードは何がどうなって動いているか目を向けると将来的に仕事 の幅を広げることにつながるかもしれません
以上です。