👋
QAのCIサーバー運用
以前はオフィスにサーバールームがあって、そこでテストを実行するためのCIサーバーを動かしていた。
リモート勤務するようになったタイミングでCIサーバーをクラウドに移行することにした。チームメンバーの希望もあってインフラチームに構築を頼むのではなくQAチームで構築・運用を行うことにした。気をつけたこと、工夫したことをちょっと書いておく。
気をつけたこと
- コスト。どれくらいのコストがかかるのか見積もって上司と合意。その金額を上回らないようにコストを定期的にチェック。
- モニタリング。アカウントが不正使用された場合に検知できるようにアラートを設定。
工夫したこと
- 稼働していないときに止める。Googleが提供している日本の祝日カレンダーとそれ以外の休日(週末と年末年始などカレンダー上は祝日ではない日)のGoogleカレンダーを用意して、CIサーバー起動時にそれらを参照して起動・停止の制御をするようにした。
- 上記の制御はGCPのCloud Scheduler + Cloud Buildで実現しているが、どちらかで障害が発生してCIサーバーが停止していることがあった。対策として起動・停止の判断は一定時間をおいて1日に2度行うようにした。
ハマったこと
- 2024年のクリスマスイブが日本の祝日カレンダーにあったため、平日にも関わらずCIサーバーが停止した。ここを参照して対策した。
他に思い出したことがあれば書き足していく予定。
Discussion