令和最新版 actions-cache-s3

こんにちは、whywrite.it CI/CD班のwhywaitaです。

つくりました。

これはなに

GitHub Actionsにはactions/cacheというものがあって、ビルド時の依存関係を解決したものとかをキャッシュしておくことができます。

標準ではGitHubが提供するキャッシュサーバにファイルが保存されるんですが、さまざまな事情により自分たちが管理するストレージに置きたいことがあります。

  • AWSなどでself-hosted runnerを運用している
  • GitHub Enterprise Server を運用している (2022年現在未対応)

というわけでS3にアップロードするようなActionを作りました。冒頭にある whywaita/actions-cache-s3 です。

令和最新版とは

このS3にアップロードするというアイデアは別に新しいものでもないので、既にインターネットには色んな実装が存在しています。

ただ、軽く調べた限りだと ~/go/pkg/mod のようなチルダが含まれるパスに対応していなかったりと細かい actions/cache の機能に追従できていないことが多かったため、エイヤで作ったのが今回のものです。

沢山似たようなものがあるけど現時点だと1番新しいものに対する表現といえばそう、「令和最新版」ですね。

まとめ

以前から開発しているGitHub Actionsのrunner基盤はGHESとGHECに対応していて、「GHESだと actions/cache 使えないんですよね」という声をよく聞いていたので実装してみました。

社内だと同じチームのメンバーが提供しているAWS S3互換のオブジェクトストレージが提供されたのでその上で動作するように実装されています。具体的にはこのへん

とはいえAWSが提供するS3でも動作する(はず)ですので、もし何らかの事情でS3にキャッシュを置きたくなった方はぜひどうぞ。

CI/CD Conference 2021 by CloudNative Days に登壇します #CND_CICD2021 #CICD2021

こんにちは。whywrite.it 登壇班の@whywaitaです。

CI/CD Conference 2021 というCI/CDに関連したカンファレンスで登壇します。

(さらに…)

GitHub-hostedライクなself-hosted Runnerを管理するツールを作った

こんにちは、whywrite.it CI班のwhywaitaです。

この記事はCyberAgent Developers Advent Calendar 2020 20日目の記事です。
昨日の担当はdears31さんの社内勉強会を作ったはなしでした。
私も以前勉強会を立ち上げていたりするのですが、継続することは本当に大変ですよね。

私は普段プライベートクラウド(Cycloud)の開発運用を行っています。直近だとISUCON10のインフラ提供などをやっていました。

(さらに…)