GitLab: Testcontainers でテストを実行する

このドキュメントはCI/CDガイドの一部です。完全なガイドはこちらからご覧いただけます:GitLab CI/CD の使い方

👋 Stackheroドキュメントへようこそ!

Stackheroは、チーム向けに設計された、すぐに使えるGitLabクラウドソリューションを提供しています。高速・安全・スケーラブルな環境をお求めの方に最適です:

  • ユーザー数、リポジトリ、データ転送量、CI/CD処理時間が無制限で、柔軟性を最大限に確保できます。
  • ワンクリックで簡単にアップデートでき、ダウンタイムなしで常に最新の環境を維持できます。
  • HTTPSで保護されたカスタムドメイン名(例:https://git.your-company.com)により、プロフェッショナルなブランディングとセキュリティを実現します。
  • プライベートかつ専用インフラ上での安定したパフォーマンスと強固なセキュリティ。他の利用者の影響を受けず、完全な分離環境を提供します。
  • ホスティング場所は🇪🇺 ヨーロッパまたは🇺🇸 USAから選択可能。コンプライアンスやレイテンシー要件に合わせてお選びいただけます。

すぐに利用を開始し、コード開発に集中できます。StackheroのGitLabクラウドホスティングソリューションは、約5分でご利用可能です。

テストスイートで Testcontainers(テスト実行中に実際のサービス(データベースやメッセージブローカーなど)を一時的な Docker コンテナとして起動するライブラリ)を利用している場合、上記の設定でそのまま対応できます。docker:29-dind サービスと両方の変数を維持してください。Testcontainers は DOCKER_HOST を使って Docker デーモンにアクセスし、自身が起動するコンテナに接続しますので、追加の設定は不要です。

DOCKER_HOST の設定漏れは、CI での Testcontainers の失敗原因として最も多いものです。この場合、ライブラリは runner によってマウントされた Docker ソケットを使おうとし、自身のテストコンテナに接続できず、Ryuk ヘルパーコンテナのタイムアウトとして現れることが一般的です。