新卒で入社した会社に3年勤めました

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

2019年に株式会社サイバーエージェントという会社に新卒入社し、2022/04までで3年間在籍しました。

「新卒で入った会社はとりあえず3年居たら転職する」みたいなことをよく言われましたが、気づいたらその3年間がいつのまにか経ってしまいました。
2年目が始まったころに感染症の影響で世界が大変なことになったのをよく覚えていて、そこから更に2年も経ったのかと驚いています。
いまは(まだ気をつけるべき時期ではありますが)転職業界も一時よりは賑わいを取り戻していて、この3年間で多くの同期が転職していきました。

ちょうど良い節目なので、3年間でどのような仕事をしてきたのかについてまとめてみたいと思います。

(さらに…)

令和最新版 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にキャッシュを置きたくなった方はぜひどうぞ。

whywaita Advent Calendar 2021 総括

メリークリスマス! whywrite.it whywaita班のwhywaitaです。

この記事はwhywaita Advent Calendar 2021 25日目の記事です。

今年も無事whywaita Advent Calendarは無事24本の記事を読んだ上で25日目の記事を執筆することが出来ました。例年同じ言葉ではありますが、これはひとえに記事を書いてくださった皆さんのおかげです。毎年本当にありがとうございます。

(さらに…)

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

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

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

(さらに…)

whywaita 2020年総まとめ 対外活動編

こんにちは、whywrite.it 総まとめ班のwhywaitaです。

あけましておめでとうございます。本年もよろしくお願いします。
本当は総まとめは2020年中に書いておきたかったのですが、例年大晦日から元旦までがバタバタしてしまいますね。

今回は去年も書いた2020年内の対外活動をまとめておきます。

(さらに…)

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

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

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

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

(さらに…)

おうちでDynamic Provisioning! kubernetes-incubator/external-storage iSCSIクライアントを試してみる

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

皆さんも一家に一クラスタはKubernetes のクラスタがあると思いますが、永続化ストレージ (Persistent Volume)はいかがでしょうか。
近年はCSIという様々なストレージを同じように扱えるインターフェースが定義されているため、様々なベンダーがCSIに対応したストレージ製品やCSIに対応させるゲートウェイアプリケーションを公開していたりします。

ここにKubernetesコミュニティが認識しているCSI Driverの一覧が載っているのですが、見事にクラウド上のブロックストレージサービスのDriverが沢山ありますね。オンプレミス向けだと高価なハードウェアアプライアンス製品がちらほら。
自宅はクラウドではないので(?)、オープンソースで動作するiSCSIなどで解決したいのですが、CSIには実装がなく1、CSI以前から存在しているiSCSIを用いる実装はKubernetesにおけるPersistent Volume Claimを用いて動的にボリュームが作れない状況にありました2

そこでkubernetes-incubator/external-storageを用いて、iSCSIかつ動的にボリュームを確保する実装を動作させてみるのが本記事の内容です。

[ ※ 2021/07/31 追記 ]
執筆から1年以上経過し状況が変わっているため追記しておきます。

kubernetes-incubator Organization 配下にあったexternal-storageは現在 kubernetes-retired Organization にtransferされており、リポジトリ自体もRead-onlyとなっています。
Kubernetes v1.20以降では互換性が無くなってしまい動作しなくなりました。
有志がforkしたリポジトリでKubernetes v1.20以降でも動作するよう修正しているようなので、今から試す方はこちらをご利用ください。

[ 追記ここまで ]

(さらに…)