すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud DevOps:YAML パイプライン

最終更新日:Mar 20, 2025

Apsara DevOps Flow パイプラインは、Pipeline as Code をサポートしており、YAML ファイルでパイプライン構成を定義できます。一般的なパイプラインには、コードソース、ステージ、ジョブ、ステップなどの要素が含まれます。このトピックでは、主にパイプライン YAML の一般的な構造と、そのノードの構文規則について説明します。

はじめに

パイプライン YAML の全体的な構造をすぐに理解できるように、Java アプリケーションをホストグループにビルドしてデプロイするための YAML ファイルの例を次に示します。

name: demo-pipeline                                       # パイプラインの表示名
sources:                                                  # パイプラインソースノードを構成する
  my_repo:                                                # パイプラインソースの一意の識別子
    type: codeup                                          # パイプラインソースのタイプ
    name: Name of the code source                         # コードソースの表示名
    endpoint: <your-codeup-repository-url>                # コードソースの URL
    branch: master                                        # コードソースのデフォルトブランチ
    triggerEvents: push                                   # コードソースのリスナーイベント
    certificate:                                          # 認証情報
      type: serviceConnection                             # 認証タイプはサービス接続
      serviceConnection: <your-service-connection-id>      # サービス接続 ID
stages:                                       # パイプラインステージを構成する
  build_stage:                                # パイプラインステージの識別子
    name: Build stage                          # パイプラインステージの表示名
    jobs:                                     # パイプラインジョブを構成する
      build_job:                              # パイプラインジョブの識別子
        name: Build job                        # パイプラインジョブの表示名
        runsOn: public/cn-beijing             # パイプラインジョブが実行されるクラスタ環境
        steps:                                # パイプラインステップを構成する
          build_step:                         # パイプラインステップの識別子
            step: JavaBuild                   # 実行ステップを選択する
            name: Java build                   # 実行ステップの表示名
            with:                             # ステップのパラメータ
              run: |
                mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip
          upload_step:
            step: ArtifactUpload
            name: Upload build output
            with:
              uploadType: flowPublic
              artifact: default
              filePath:
                - target/
                - deploy.sh
  deploy_stage:
    name: Deployment stage
    jobs:
      deploy_job:
        name: Host group deployment job
        component: VMDeploy                # 実行コンポーネントを選択する
        with:                              # 実行コンポーネントのパラメータ
          artifact: $[stages.build_stage.build_job.upload_step.artifacts.default]
          machineGroup: <your-machine-group-id>
          artifactDownloadPath: /home/admin/app/package.tgz
          executeUser: root
          run: |
            mkdir -p /home/admin/application/
            tar zxvf /home/admin/app/package.tgz -C /home/admin/application/
            sh /home/admin/application/deploy.sh restart

上記の YAML ファイルの主要なノードについて、以下に説明します。

ノード

ノードの説明

name

パイプラインの名前。

sources

パイプラインソース。ソースタイプ、ソースアドレス、デフォルトブランチなど、複数のパイプラインソース情報を構成できます。

sources.<souce_id>

パイプラインソース ID。パイプラインソースを一意に識別します。

sources.<souce_id>.type

パイプラインソースのタイプ。 codeup、github、gitlab、jenkins など、さまざまなパイプラインソースタイプをサポートしています。

sources.<souce_id>.name

パイプラインソースの表示名。

stages

パイプラインステージ。パイプラインステージは、1 つ以上のジョブで構成されます。

stages.<stage_id>

パイプラインステージ ID。パイプラインステージを一意に識別します。

stages.<stage_id>.name

パイプラインステージの表示名。

stages.<stage_id>.jobs

パイプラインジョブ。パイプラインジョブは、複数のステップの組み合わせ (複数のステップがワークスペースを共有して特定のタスクを完了する) またはコンポーネントの呼び出し (コンポーネントを呼び出して特定のタスクを実行する、コンポーネントタスクは再試行、スキップなどの操作をサポート) にすることができます。

stages.<stage_id>.jobs.<job_id>

パイプラインジョブ ID。パイプラインジョブを一意に識別します。

stages.<stage_id>.jobs.<job_id>.name

パイプラインジョブの表示名。

stages.<stage_id>.jobs.<job_id>.runsOn

パイプラインジョブが実行されるクラスタ環境。 Apsara DevOps が提供するパブリッククラスタ環境を使用するか、プライベートビルドクラスタを使用できます。

stages.<stage_id>.jobs.<job_id>.steps

パイプラインステップ。パイプラインジョブは、1 つ以上のステップで構成できます。

stages.<stage_id>.jobs.<job_id>.steps.<step_id>

パイプラインステップ ID。パイプラインステップを一意に識別します。

stages.<stage_id>.jobs.<job_id>.steps.<step_id>.step

パイプラインの実行ステップを選択します。

stages.<stage_id>.jobs.<job_id>.steps.<step_id>.name

パイプラインステップの表示名。

stages.<stage_id>.jobs.<job_id>.steps.<step_id>.with

パイプラインステップのパラメータ。

stages.<stage_id>.jobs.<job_id>.component

パイプラインコンポーネント。パイプラインジョブは、コンポーネントを呼び出して関連操作を実行できます。

stages.<stage_id>.jobs.<job_id>.with

パイプラインコンポーネントのパラメータ。

構文規則