はじめに こんにちは!J-CAT 株式会社でエンジニアをしている田中です。 弊社では、魅力あふれる日本の姿をここでしかできない感動体験として届ける予約サイト「Otonami」というサービスを運営しており、このサービスのバックエンドとして、Go言語を採用しております。 これまで課題として認識していながらも、中々着手できずにいたバックエンドのCI/CD改善に本格的に取り組み、その処理速度を劇的に向上させることができました。 この記事では、そのために実施したアプローチを汎用的に活用できる手法として整理し、紹介していきます。 結論として、ざっくり以下の対応を行いました。 ビルドタグを利用したジョブの並列化 デプロイ先の変更(不本意) txdbを利用したトランザクション → ロールバックのテスト t.Parallelを用いたテストの並列化 テストをdockerコンテナ実行 → プリセットアクション実