GitLabを使ったサーバレス・コンテナアプリケーションのCI/CD定番3パターン

Proposal (落選)

難易度 初級者
実行フェーズ Dev/QA(開発環境)
Production(本番環境)
想定受講者 developer - システム開発
app-developer - アプリケーション開発
operator/sys-admin - 運用管理/システム管理

JX通信社はサーバレス/コンテナ、AWS/GCPなどさまざまな環境でアプリケーションをホストしてサービスを提供しています。アプリケーションによって最適なホストの仕方は違うため、各チームがそれぞれ工夫をして日々の開発とデプロイを行なっています。

CI/CDの整備は各チームで自由に作っているので色々なパターンが存在しますが、その中から世のいろんなフェーズのいろんなチームでも応用の効きそうな定番パターンについて紹介します。

レビュー依頼のワークフロー、クラウドの権限の持ち回り、各環境の責務や使い方など多少ツールが異なっても共通な考え方から、様々なツールやGitLab特有の機能をフル活用した具体的な工夫までお話しします。

- (前提編) Vaultを利用してセキュアにデプロイに必要な権限をCIに渡す方法
- (前提編) kanikoとGitLab Registryを活用したコンテナイメージの作り方
- (具体例: 1) ecspressoを使ったコンテナワークロードのデプロイ - Blue/Greenを添えて
- (具体例: 2) Serverless Frameworkを使ったLambda関数のデプロイ - シンプルな関数もコンテナも
- (具体例: 3) CIOpsとGitOpsをいいとこ取り!Kubernetes上でレビューごと検証環境の自動生成・自動破棄

平瀬 達也
株式会社JX通信社
SRE/サーバサイドエンジニア

2018年にJX通信社にジョインし、災害・事故・事件などの緊急情報を配信するto Bサービス「FASTALERT」や、速報に強いニュースアプリ「NewsDigest」のサーバサイド開発/SREを担当。