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

Alibaba Cloud DevOps:パイプラインソース

最終更新日:Sep 23, 2025

パイプラインソースは、データ処理および統合システムの主要なコンポーネントです。さまざまなデータソースからデータを取得し、転送します。

背景情報

Flow は、コードソース、アーティファクトソース、および Flow パイプラインソースの設定をサポートしています。複数のソースを設定できます。

  • コードソース: Codeup、GitHub、GitLab を含む一般的なコードソースをサポートします。

  • アーティファクトソース: Alibaba Cloud DevOps Packages ソースと Alibaba Cloud Container Registry (ACR) Enterprise Edition イメージソースをサポートします。

  • Flow パイプラインソース: 他の Flow パイプラインをソースとして設定し、パイプラインが互いの実行をトリガーできるようにサポートします。

単一のパイプラインソース

以下は、単純なパイプラインソース設定の例です。

sources:
  my_repo:
    type: codeup
    name: コードソース名
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git
    branch: master
    triggerEvents:
      - push
      - tagPush
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

複数のパイプラインソース

以下は、複数のパイプラインソース設定の例です。

sources:
  repo1:
    type: codeup
    name: コードソース名
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/repo1.git # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master
    triggerEvents:
      - push
      - tagPush
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>
  repo2:
    type: codeup
    name: コードソース名
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/repo2.git  # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master
    triggerEvents:
      - push
      - tagPush
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>
defaultWorkspace: repo1

Packages ソースの例

以下は、Apsara DevOps Packages の汎用アーティファクトをパイプラインソースとして設定する例です。

sources:
  my_packages:
    type: packages
    repoType: generic                                            # リポジトリタイプ。汎用アーティファクトリポジトリのみがサポートされています。
    repo: "<リポジトリ ID>, 例: flow_generic_repo"                # リポジトリ ID。packages.aliyun.com ページの基本情報からリポジトリ ID を取得できます。
    artifact: "<アーティファクト名>, 例: Artifacts_1418394"      # アーティファクト名。
    version: "<アーティファクトバージョン>, 例: 2024-03-28-11-53-39"  # アーティファクトバージョン。「latest」と入力すると、最新バージョンが使用されます。
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

ACR ソースの例

以下は、Alibaba Cloud ACR Enterprise Edition イメージをパイプラインソースとして設定する例です。

sources:
  my_acr:
    type: acr
    region: cn-hangzhou
    instance: "<ACR EE インスタンス>, 例: yunxiao"  # ACR インスタンス名。
    namespace: default                               # 名前空間。
    imageRepo: "<Docker レジストリ>, 例: test"    # イメージリポジトリ名。
    imageTag: v1.0                                   # イメージバージョン。
    versionFilter: .*                                # イメージバージョンのフィルター規則。正規表現を入力します。
    triggerEvents:
      - pushCompleted
      - scanCompleted
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

Flow パイプラインソースの例

以下は、Flow パイプラインをパイプラインソースとして設定する例です。

sources:
  ci_pipeline:
    type: flowPipeline
    name: Flow パイプラインソース名
    flowPipeline: <Flow パイプライン ID>  # 例: rfkkfe6tj1mcaqtz
    build: lastSuccessfulBuild
    triggerEvents: buildSuccess

詳細な説明

sources

パイプラインソースは、ソースタイプ、ソースアドレス、デフォルトブランチなど、複数のソースエントリの設定をサポートします。

defaultWorkspace

このパラメーターは、パイプラインに複数のコードソースがある場合に必要です。パイプラインタスクにワークスペースが指定されていない場合、タスクは指定されたデフォルトのワークスペースで自動的に実行されます。特定の <source_id> を入力して指定します。例:

sources:
  repo1:
    ......
  repo2:
    ......
defaultWorkspace: repo1

sources.<source_id>

必須。パイプラインソースの ID です。パイプラインの実行時に、ソースファイルは <source_id> ディレクトリにダウンロードされます。パスは /root/workspace/<source_id> です。ACR イメージソースはダウンロードされません。source_id には、文字、数字、アンダースコア (_) のみを含めることができます。文字で始まり、30 文字以内でなければなりません。

sources.<source_id>.type

必須。パイプラインソースのタイプです。Flow は、Codeup、GitHub、GitLab、SVN、、packages、ACR など、さまざまなパイプラインソースタイプをサポートしています。

パイプラインソースタイプ

YAML 識別子

備考

サンプルコードソース

gitSample

  • Java、Go、Python、C++、NodeJS、PHP、.NET Core など、さまざまな言語のサンプルコードリポジトリをサポートします。

  • トリガーイベントをサポートしていません。

Alibaba Cloud DevOps Codeup

codeup

  • トリガーイベントをサポート: コードのプッシュ、タグの作成、マージリクエストの完了、マージリクエストの作成または更新。

  • ブランチによるフィルタリングをサポートします。

  • コードパスによるフィルタリングをサポートします。

汎用 Git

git

  • トリガーイベントをサポート: コードのプッシュ。

  • ブランチによるフィルタリングをサポートします。

GitHub

githubApp

  • トリガーイベントをサポート: コードのプッシュ。

  • ブランチによるフィルタリングをサポートします。

GitLab

gitlab

  • トリガーイベントをサポート: コードのプッシュ、タグの作成、マージリクエストの完了。

  • ブランチによるフィルタリングをサポートします。

セルフホスト GitLab

customGitlab

  • トリガーイベントをサポート: コードのプッシュ、タグの作成、マージリクエストの完了。

  • ブランチによるフィルタリングをサポートします。

Bitbucket

bitbucket

  • トリガーイベントをサポート: コードのプッシュ。

  • ブランチによるフィルタリングをサポートします。

Flow パイプライン

flowPipeline

  • 他の Flow パイプラインをソースとして設定し、互いをトリガーできます。

  • トリガーイベントをサポート: パイプラインの実行成功、失敗、またはキャンセル。

Packages 汎用アーティファクト

packages

  • Apsara DevOps Packages 汎用アーティファクトをソースとして設定することをサポートします。

  • トリガーイベントをサポートしていません。

Alibaba Cloud ACR Enterprise Edition イメージリポジトリ

acr

  • Alibaba Cloud ACR Enterprise Edition リポジトリイメージをソースとして設定することをサポートします。

  • トリガーイベントをサポート: イメージのプッシュ完了とイメージのスキャン完了。

  • バージョン番号によるフィルタリングをサポートします。

sources.<source_id>.name

任意。パイプラインソースの表示名です。名前は 30 文字までです。

sources.<source_id>.endpoint

このパラメーターは、パイプラインソースがコードソースの場合に必要です。コードソースのアドレスを指定します。SSH と HTTPS の両方のアドレスがサポートされています。例: https://codeup.aliyun.com/abc/Codeup-Demo.git。

Apsara DevOps によって提供されるサンプルコードリポジトリ。コードソースのアドレスは次のとおりです:
Java: https://atomgit.com/flow-example/spring-boot.git
Go: https://atomgit.com/flow-example/go-gonic.git
Python: https://atomgit.com/flow-example/python-tornado.git
C++: https://atomgit.com/flow-example/gcc-helloworld.git
NodeJS: https://atomgit.com/flow-example/node-expressjs.git
PHP: https://atomgit.com/flow-example/php-laravel-blog.git
.Net Core: https://atomgit.com/flow-example/dotnet-core-sample.git

sources.<source_id>.branch

任意。コードソースのデフォルトブランチを指定します。このパラメーターが設定されていない場合、デフォルト値は master です。このブランチは、パイプラインがスケジュールまたは外部システムによってトリガーされるときに使用されます。ブランチ名を入力します。例:

sources:
  my_repo:
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git  # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master

サンプルコードソースは master ブランチのみをサポートします。

sources.<source_id>.branchesFilter

任意。パイプラインを実行できるブランチのフィルター規則を指定します。正規表現を入力します。フィルター規則に一致するブランチまたはタグのみがパイプラインの実行をトリガーできます。この規則は、手動、コードソース、スケジュール、および Webhook トリガーを含むすべてのトリガータイプに適用されます。

sources:
  my_repo:
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git  # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: release
    branchesFilter: release_*     # release_ で始まるブランチのみが実行できます。

sources.<source_id>.submodule

任意。このパラメーターは、パイプラインソースがコードソースの場合にサブモジュールをクローンするかどうかを指定します。デフォルト値は false です。true または false を入力します。例:

sources:
  my_repo:
  	type: codeup
  	endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git  # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master
    submodule: true

sources.<source_id>.cloneDepth

任意。パイプラインソースがコードソースの場合、このパラメーターはクローンする最近のコミットバージョンの数を指定します。デフォルトでは、すべてのバージョンがクローンされます。カスタムのクローン深度は、ワークスペースの準備を高速化できます。値 0 は、すべてのバージョンがクローンされることを示します。0 以上の整数を入力できます。例:

sources:
  my_repo:
    type: codeup
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git  # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master
    cloneDepth: 10

sources.<source_id>.triggerSecret

GitHub のみ。

GitHub の Webhook 設定に Secret を追加した後、同じ値をパイプライン設定に追加する必要があります。これは、Webhook が処理されるときに署名を検証するために使用されます。

値を直接入力するか、変数を使用できます。例:

  triggerSecret: ${SECRET}

または:

  triggerSecret: theSecret

sources.<source_id>.triggerEvents

任意。パイプラインをトリガーするソースイベントを指定します。デフォルトでは、パイプラインはソースイベントによってトリガーされません。パイプラインは、設定されたイベントが発生した場合にのみ実行されます。

トリガーイベント

YAML 識別子

備考

コードのプッシュ

push

タグの作成

tagPush

一部のコードソースのみ。

マージリクエストの完了

mergeRequestMerged

一部のコードソースのみ。

マージリクエストの作成または更新

mergeRequestOpenedOrUpdate

一部のコードソースのみ。

パイプラインの実行成功

buildSuccess

Flow パイプラインソースのみ。

パイプラインの実行失敗

buildFail

Flow パイプラインソースのみ。

パイプラインの実行キャンセル

buildCancel

Flow パイプラインソースのみ。

ACR イメージのプッシュ完了

pushCompleted

ACR パイプラインソースのみ。

ACR イメージのスキャン完了

scanCompleted

ACR パイプラインソースのみ。

例:

sources:
  my_repo:
    type: codeup
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git  # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master
    triggerEvents: 
      - push
      - tagPush

sources.<source_id>.branchFilter (非推奨)

説明

このキーワードは 非推奨 です。代わりに sources.<source_id>.branchesFilter を使用してください。

任意。パイプラインソースがコードソースで、コードコミットトリガーが有効になっている場合、ブランチフィルター条件を設定できます。デフォルトでは、ブランチはフィルターされません。パイプラインは、条件が満たされた場合にのみ実行されます。ブランチ名を入力します。正規表現がサポートされています。例:

sources:
  my_repo:
    type: codeup
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git  # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master
    triggerEvents: push
    branchFilter: ^feature.*  # このキーワードは非推奨です。代わりに branchesFilter を使用してください。

sources.<source_id>.pathFilter

任意。パイプラインソースがコードソースで、コードコミットトリガーが有効になっている場合、コードパスフィルター条件を設定できます。デフォルトでは、コードパスはフィルターされません。パイプラインは、指定されたパス内のコードファイルがコミットされた場合にのみ実行されます。コードパスを入力します。正規表現がサポートされています。例: Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。

sources:
  my_repo:
    type: codeup
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git  # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master
    triggerEvents: push
    pathFilter: ^file_path.*

sources.<source_id>.branchMode

任意。デフォルトでは、ブランチモードは無効になっています。パイプラインに複数のパイプラインソースがある場合、ブランチモードを有効にできるコードソースは 1 つだけです。

sources.<source_id>.branchMode.branchModelBranchFilter

任意。これはブランチモードのパラメーターです。コードソースでブランチモードが有効になっており、branchModelBranchFilter が設定されている場合、branchModelBranchFilter の正規表現に一致するブランチのみがパイプラインを実行できます。

sources.<source_id>.branchMode.keepIntegrationAreaBranch

任意。これはブランチモードのパラメーターです。値はブール値で、デフォルトは false です。true に設定すると、ブランチがマージされた後も統合エリアはクリアされません。

sources.<source_id>.branchMode.baseBranch

これはブランチモードのパラメーターです。コードソースでブランチモードが有効になっている場合は、baseBranch を指定する必要があります。baseBranch は、ブランチモードでリリースブランチがプルされるベースブランチです。例: Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。

sources:
  my_repo:
    type: codeup
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git   # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master
    branchMode:
      baseBranch: master
      keepIntegrationAreaBranch: false
      branchModelBranchFilter: feature/.*

sources.<source_id>.certificate

このパラメーターは、sources.<source_id>.type が gitSample、git、または flowPipeline の場合は任意です。他のシナリオでは必須です。このパラメーターは、コードソースをクローンしたり、外部の Jenkins サービスを呼び出したりするための権限付与情報を設定します。サービス接続を使用する場合は、type を serviceConnection に設定し、サービス接続 ID を入力します。サービス接続 ID は、[エンタープライズ設定][サービス接続管理] から取得できます。例:

sources:
  my_repo:
    type: codeup
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git  # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

汎用 Git やセルフホスト GitLab などの一部のコードソースは、エンタープライズ公開鍵を使用したコードのクローンをサポートしています。この場合、type を sshKey に設定できます。例:

sources:
  my_repo:
    type: customGit
    endpoint: https://<Apsara DevOps インスタンス ID>.devops.alibabacloudcs.com/codeup/abc/Codeup-Demo.git   # Apsara DevOps インスタンス ID は 3〜8 桁の数字と文字の組み合わせです。
    branch: master
    certificate:
      type: sshKey

sources.<source_id>.flowPipeline

このパラメーターは、パイプラインソースが Flow パイプラインの場合に必要です。Flow パイプライン ID (16 文字のランダムな文字列) を入力します。例:

sources:
  my_ci_pipeline:
    type: flowPipeline
    flowPipeline: atf******cmaofmk
    ......

sources.<source_id>.build

このパラメーターは、パイプラインソースが Jenkins ソースまたは Flow パイプラインの場合に必要です。特定の Jenkins タスクまたは Flow パイプラインのビルド番号を入力します。

トリガーイベント

YAML 識別子

備考

最終成功実行

lastSuccessfulBuild

Flow パイプライン

特定の実行番号

ビルド番号

Flow パイプライン

例:

sources:
  my_jenkins:
    type: jenkins
    jenkinsJob: job-test
    build: lastBuild

sources.<source_id>.repoType

このパラメーターは、パイプラインソースが Packages アーティファクトソースの場合に必要です。`repoType` は、汎用アーティファクトタイプ `generic` のみをサポートします。

sources:
  my_repo:
    type: packages
    repoType: generic                                            
    repo: flow_generic_repo                
    artifact: Artifacts_1418394
    version: 2024-03-28-11-53-39
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

sources.<source_id>.repo

このパラメーターは、パイプラインソースが Packages アーティファクトソースの場合に必要です。特定のリポジトリ ID を入力します。リポジトリ ID は、packages.aliyun.com ページの基本情報から取得できます。

sources:
  my_repo:
    type: packages
    repoType: generic                                            
    repo: flow_generic_repo
    artifact: Artifacts_1418394      
    version: 2024-03-28-11-53-39
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

sources.<source_id>.artifact

このパラメーターは、パイプラインソースが Packages アーティファクトソースの場合に必要です。特定のアーティファクト名を入力します。

sources:
  my_repo:
    type: packages
    repoType: generic                                            
    repo: flow_generic_repo                
    artifact: Artifacts_1418394      
    version: 2024-03-28-11-53-39  
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

sources.<source_id>.version

このパラメーターは、パイプラインソースが Packages アーティファクトソースの場合に必要です。特定のアーティファクトバージョン番号を入力します。

sources:
  my_repo:
    type: packages
    repoType: generic                                            
    repo: flow_generic_repo                
    artifact: Artifacts_1418394      
    version: 2024-03-28-11-53-39  
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

sources.<source_id>.region

このパラメーターは、パイプラインソースが ACR イメージソースの場合に必要です。サポートされているリージョンのみ入力できます。

sources:
  my_repo:
    type: acr
    region: cn-hangzhou
    instance: yunxiao
    namespace: default
    imageRepo: test
    imageTag: 2024-04-07-17-18-26-YAML        
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

sources.<source_id>.instance

このパラメーターは、パイプラインソースが ACR イメージソースの場合に必要です。現在のサービス接続で権限が付与されている ACR Enterprise Edition インスタンスの名前を入力します。

sources:
  my_repo:
    type: acr
    region: cn-hangzhou
    instance: yunxiao
    namespace: default
    imageRepo: test
    imageTag: 2024-04-07-17-18-26-YAML
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

sources.<source_id>.namespace

このパラメーターは、パイプラインソースが ACR イメージソースの場合に必要です。インスタンス下の名前空間を入力します。

sources:
  my_repo:
    type: acr
    region: cn-hangzhou
    instance: yunxiao
    namespace: default
    imageRepo: test
    imageTag: 2024-04-07-17-18-26-YAML
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

sources.<source_id>.imageRepo

このパラメーターは、パイプラインソースが ACR イメージソースの場合に必要です。名前空間下のイメージリポジトリの名前を入力します。

sources:
  my_repo:
    type: acr
    region: cn-hangzhou
    instance: yunxiao
    namespace: default
    imageRepo: test
    imageTag: 2024-04-07-17-18-26-YAML
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

sources.<source_id>.imageTag

このパラメーターは、パイプラインソースが ACR イメージソースの場合に必要です。イメージリポジトリ下のバージョン名を入力します。

sources:
  my_repo:
    type: acr
    region: cn-hangzhou
    instance: yunxiao
    namespace: default
    imageRepo: test
    imageTag: 2024-04-07-17-18-26-YAML
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>

sources.<source_id>.versionFilter

任意。パイプラインを実行できる ACR イメージソースバージョンのフィルター規則を指定します。正規表現を入力します。フィルター規則に一致するバージョンのみがパイプラインの実行をトリガーできます。この規則は、手動トリガー、アーティファクトソースの Webhook トリガー、スケジュールされたトリガー、および Webhook トリガーを含むすべてのトリガータイプに適用されます。

sources:
  my_repo:
    type: acr
    region: cn-hangzhou
    instance: yunxiao
    namespace: default
    imageRepo: test
    imageTag: 2024-04-07-17-18-26-YAML
    versionFilter: .*-YAML         # -YAML で終わるバージョンのみが実行できます。
    triggerEvents:
      - pushCompleted
      - scanCompleted
    certificate:
      type: serviceConnection
      serviceConnection: <サービス接続 ID>