コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

CircleCI2系のdocker記述を使う場合、メインで使われるのは1個目のimageの模様

パッと見わかりにくい仕様だし、存外にdocker-composeライクな記述例がないので書いてみる。確信があんまりないのでタイトルも「模様」。

環境

今回やったversionは2.1からのexecutorの機能

情報元

The first image listed in the file defines the primary container image where all steps will run. - Configuring CircleCI - CircleCI

どういうことか

    docker:
      - image: circleci/ruby:2.6.2-node-browsers
        environment:
          RAILS_ENV: test
          DB_HOST: db
      - image: circleci/mysql:5.7
        name: db
        environment:
          MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'

こんな感じでymlを書いたとき、steps の項目で実行されるの名言されていないけどどうやって決定されるんだろ…って思ったところドキュメントには「最初のイメージでstepsはrunされるよ!」という記述があり納得する。

ただし、特定のコンテナでrunさせたいという場合の内容はない…謎…

関連リンク