.circleci/config.yml
を編集しながら試していく。
これじゃ駄目
さすがにversionだけだと駄目。 これだとジョブかワークフローを作れということでエラー。
version: 2.1
以下のエラー
# Error calling workflow: 'workflow' # Cannot find a definition for job named build
最小構成
ジョブを1つ作る。ジョブ名は build
とする必要がある。
CircleCI を設定する - CircleCI https://circleci.com/docs/ja/2.0/configuration-reference/
Workflows を 使わない 場合は、jobs マップ内に build という名前のジョブを用意します。build ジョブは GitHub など VCS によるプッシュをトリガーとして実行する際のデフォルトのエントリーポイントとなります。あるいは、CircleCI API を利用して別のジョブを実行することも可能です。
- 実行環境として、docker / machine / macos / windowsのどれかを選ぶ。今回は docker を選択する。
- docker の場合は image が必須
- steps は必須
- その下は色々(今回は run )
- 1つのジョブに実行環境は1つ(Executorにその縛りがある)
version: 2.1 jobs: build: docker: - image: circleci/ruby:2.7.2 steps: # - run: echo "hello world"
ワークフローを使う(ジョブを複数)
ワークフローを構成して、それぞれで実行環境を切り替えてみる。
version: 2.1 workflows: version: 2 build: jobs: - job1 - job2 jobs: job1: docker: - image: circleci/ruby:2.6.5 steps: - run: echo "2.6.5" job2: docker: - image: circleci/ruby:2.7.2 steps: - run: echo "2.7.2"
Executor
Executorを使って実行環境を切り替えてみる。
version: 2.1 executors: my-ruby1: docker: - image: circleci/ruby:2.6.5 my-ruby2: docker: - image: circleci/ruby:2.7.2 workflows: version: 2 build: jobs: - job1 - job2 jobs: job1: executor: my-ruby1 steps: - run: ruby -v job2: executor: my-ruby2 steps: - run: ruby -v