GitLab-CIでservicesのコンテナに対してアクセスする



Page content


GitLab-CIのservices

GitLab-CIでservicesパラメータを使うと、imagesで指定した実行環境と別にDockerコンテナを起動し、アクセス出来るようになる。

services:
  - mysql: 8.0.23

my_ci:
  services: 
    - localstack/localstack:0.12.8

servicesで指定したコンテナのhost

servicesで起動したコンテナのデフォルトhostは、

  • :以下は切り捨て
  • /__(アンダースコア×2)で置換 (primary host)
  • /-(ハイフン)で置換 (secondary host)

のルールで、2通り提供される。
なお__(アンダースコア×2)がhost名に入ると不正として弾くツールもあり、secondary hostを利用する方がおすすめ。

services:
  - mysql: 8.0.23
variables:
  MYSQL_DATABASE: http://mysql:8080

my_ci:
  services: 
    - localstack/localstack:0.12.8
  variables:
    AWS_ENDPOINT: http:localstack-locakstack:4566

servicesで指定したコンテナのport

servicesでportを指定する機能は現状無い。
サービスやDocker imageを確認し、デフォルトのportを指定する。

※ なお、portを指定できるようにしてほしい…という話題はissue上で起きているようで、将来的には指定できるようになる雰囲気がある。