Search Results for ""

Orbs、ジョブ、ステップ、ワークフロー

ジョブ、ステップ、ワークフローに加え、Orbs に使用する新しい .circleci/config.yml キーについて概説します。

Orbs の概要

Orbs は、名前に基づいてインポートするかインラインで構成する、設定ファイルのパッケージです。プロジェクト内またはプロジェクト間で共有および再利用して、構成作業を簡略化することができます。 設定ファイルで Orbs を使用する方法と Orb 設計の概要については、Orb の使用に関するドキュメントを参照してください。 CircleCI Orb レジストリでは、構成作業の簡素化に役立つ Orb を検索できます。

ジョブの概要

ジョブはステップの集まりです。 ジョブ内のステップはすべて 1 単位として実行され、その際にプランから CircleCI コンテナが 1 つ消費されます。

ジョブとステップはきめ細かく制御できます。ワークフローのフレームワークが提供され、各フェーズでのステータスを確認できるため、高頻度のフィードバックが可能になります。 下図はジョブ間のデータ フローを表したものです。 ワークスペースは、同じワークフロー内のジョブ間でデータを維持します。 キャッシュは、異なるワークフロー ビルドにある同じジョブ間でデータを維持します。 アーティファクトは、ワークフローの終了後にデータを維持します。

ヘッダー

2.0 のジョブは、最近使用した machine Executor の実行を再利用できる machine Executor、テストや必要なサービス (データベースなど) を実行するように Docker コンテナを構成できる docker Executor、または macos Executor を使用して実行できます。

docker Executor を使用する場合、起動するコンテナのイメージを docker: キーの下に指定します。 docker Executor には任意のパブリック Docker イメージを使用できます。

docker Executor と machine Executor の用途と違いについては、コンテナ イメージの指定に関するドキュメントを参照してください。

ステップの概要

ステップは、ジョブ中に実行される実行可能なコマンドの集まりです。コードをチェック アウトするには checkout: キーを指定します。また、run: キーを使用すると、複数行にわたる任意のシェル コマンド スクリプトを追加できます。 run: キーのほかに、save_cache:restore_cache:deploy:store_artifacts:store_test_results:add_ssh_keys などのキーをステップの下にネストします。

インポートした Orb を使用した設定ファイルの例

version: 2.1

orbs:
  aws-s3: circleci/aws-s3@1.0.0 # circleci 名前空間に s3 Orb をインポートします

workflows:
  build-test-deploy:
    jobs:

      - deploy2s3: # ワークフローで定義するサンプル ジョブ
          steps:
            - aws-s3/sync: # s3 Orb で宣言されている sync コマンドを呼び出します
                from: .
                to: "s3://mybucket_uri"
                overwrite: true

並列ジョブを使用した設定ファイルの例

2.0 .circleci/config.yml ファイルの例を以下に示します。

version: 2 jobs: build: docker:

      - image: circleci/<language>:<version TAG>
    steps:
      - checkout
      - run: <command>
  test:
    docker:
      - image: circleci/<language>:<version TAG>
    steps:
      - checkout
      - run: <command>
workflows:
  version: 2
  build_and_test:
    jobs:
      - build
      - test

上記は並列ジョブ ワークフローの例です。処理時間を短縮するために、build ジョブと test ジョブを並列で実行しています。 並列実行、順次実行、および手動承認のワークフローによってジョブをオーケストレーションする詳しい方法については、ワークフローに関するドキュメントを参照してください。

関連項目