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
430
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
Satoshi Kaneyasu
October 29, 2024
Tweet
Share
More Decks by Satoshi Kaneyasu
See All by Satoshi Kaneyasu
Amazon Neptuneで始めてみるグラフDB-OpenSearchによるグラフの全文検索-
satoshi256kbyte
4
390
【5分LT】フロントエンドとバックエンドを繋ぐ認証サービス Amazon Cognito
satoshi256kbyte
2
58
AWS認定資格を受験するにあたり、気づいたこと・実践していたことのまとめ
satoshi256kbyte
2
170
[LT]Amazon Neptuneで始める初めてのグラフDB ー グラフDBを使う意味を考える ー
satoshi256kbyte
2
340
おもにクラウドの話してます#3 OPスライド
satoshi256kbyte
1
31
AWS CodeCommitの次として考えた場合のAmazon CodeCatalyst
satoshi256kbyte
1
930
アプリケーションエンジニアがDistributed Load Testingで 負荷テストをしてみる〜Ver.B〜
satoshi256kbyte
2
63
アプリケーションエンジニアがDistributed Load Testingで負荷テストをしてみる〜Ver.A〜
satoshi256kbyte
2
120
AWS App Studio (Preview)は何分でアプリを作れるのか
satoshi256kbyte
0
280
Other Decks in Programming
See All in Programming
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.1k
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
870
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
4
640
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
530
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
Contemporary Test Cases
maaretp
0
130
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.4k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
170
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
Featured
See All Featured
Navigating Team Friction
lara
183
14k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Automating Front-end Workflow
addyosmani
1366
200k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Writing Fast Ruby
sferik
627
61k
Gamification - CAS2011
davidbonilla
80
5k
Bash Introduction
62gerente
608
210k
A Tale of Four Properties
chriscoyier
156
23k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Designing Experiences People Love
moore
138
23k
Done Done
chrislema
181
16k
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をハッシュ化したものをキーの 一部とする キャッシュがヒットしない場合のみ、
ライブラリをインストールするように変更
理屈はわかるけど、これを誰がやるのか? • アプリエンジニアの方がやるのがベターだと思いますが、ライブラリ管 理ツールの動きをしっかり把握してる人って案外少ないので、手を挙げ る人は少ないかも • パイプラインを作ってくれる人が外部にいる場合もあるでしょうが、 その方にチューニングまで求めるのはちょっと微妙な気がします • (余談)プラットフォームエンジニアという役割の人は、そうそう
現れないと思います • リーダーが明確に指示を出す/誰かが手を挙げる しないとこの辺の改 善はおざなりになるかも
<まとめ> 手を挙げることの大切さと、それに必要なこと • 今回述べたようなあんまり皆がやりたがらないことに手を挙げる人が リーダーとかアーキテクトになってくのだと思います • やったことないことに挑戦するのは勇気がいります • 何がどうなって動いていると、やったことなくてもあたりをつけること ができるので、それが勇気の源泉になることがあります
• 目の前の機能の実装で忙しいでしょうか、たまには手を止めて自分の目 の前のコードは何がどうなって動いているか目を向けると将来的に仕事 の幅を広げることにつながるかもしれません
以上です。