UiPath Documentation
cicd-integrations
2025.10
true
CI/CD 連携ユーザー ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

ソリューションをデプロイおよびアクティブ化する

ソリューション パッケージをターゲット フォルダーにデプロイし、Orchestrator でアクティブ化します。

ソリューション パッケージをソリューションにアップロードしたら、ターゲット フォルダーにデプロイし、アクティブ化して動作させることができます。

ヒント:

プライベート証明機関 (UiPath Automation Suite など) によって署名された Orchestrator インスタンスの場合、 deploydeploy-activate の両方で --ca-cert パラメーターと --pinnedpubkey パラメーターも使用できます。シナリオと例については、「 カスタム証明書を信頼する 」をご覧ください。

デプロイ ワークフロー

ソリューションのデプロイは、次の 2 段階のプロセスです。

  1. デプロイ: デプロイ構成を作成し、パッケージをターゲット フォルダーに関連付けます。
  2. アクティブ化: デプロイを稼働させ、運用可能にします。

この分離により、デプロイを事前に準備し、メンテナンス ウィンドウ中または手動承認後にアクティブ化できます。

ソリューションをデプロイする

deploy コマンドは、特定の環境にソリューション パッケージのデプロイを作成します。

コマンド構文

uipcli solution deploy <package-name> [options]
uipcli solution deploy <package-name> [options]
パラメーター
パラメーター説明Required
<package-name>アップロードされたパッケージの名前はい
-v OR --versionデプロイするパッケージ バージョンはい
-d OR --deploymentNameこのデプロイの名前はい
-f OR --deploymentFolderNameOrchestrator でのターゲット フォルダー名はい
-UOrchestrator URLはい
-Tテナント名はい
-A組織名はい
-I外部アプリ IDはい
-S外部アプリケーション シークレットはい
--applicationScope任意のスコープ (既定値が適用されます)いいえ
--deploymentParentFolderデプロイ フォルダーが作成される Orchestrator のフォルダーです。指定しない場合、デプロイ フォルダーはテナント フォルダー内に作成されます。指定した場合、デプロイはそれぞれのフォルダーの下に配置されます。「exampleuser@org.com に設定すると、ワークスペース」の場合、デプロイは指定したユーザーの個人用ワークスペースの下に配置されます。いいえ
--configPathソリューション構成ファイルへのローカル パス上書きバインドを使用するシナリオで必要です。構成ファイルの取得について詳しくは、「 ソリューション パッケージと構成をダウンロードする 」をご覧ください。いいえ
--traceLevelログ レベルいいえ
--ca-certOrchestrator/Identity TLS 証明書の信頼されたルート CA ファイル (PEM、DER、または PKCS#7)。繰り返すか、コンマで区切ります。「カスタム証明書を信頼する」をご覧ください。いいえ
--pinnedpubkeyリーフの公開鍵 (sha256//<base64>をピン留めします。「カスタム証明書を信頼する」をご覧ください。いいえ
注:

ソリューションの既定のアプリケーション スコープ

--applicationScope パラメーターを指定せずに外部アプリケーション認証を使用すると、CLI は次の既定のソリューション スコープを自動的に適用します。

Solutions.Packages Solutions.Deployments OR.Execution

大事な: 3 つのスコープはすべて、ソリューション関連のすべての CLI コマンドに必要です。これらのスコープは、利用可能なすべてのソリューション コマンドを包括的にカバーするためにグループ化されています。コマンドごとに個別に設定するのではなく、まとめて設定する必要があります。

重要:

Orchestrator のテナント内の任意のレベルで同じ名前のデプロイがすでに存在する場合、この操作により、新しいデプロイが作成されるのではなく、既存のデプロイがアップグレードされます。既存のデプロイが [失敗] ステートの場合、アップグレードは続行されません。失敗したデプロイを解決するかアンインストールしてから、再試行してください。

重要:

テナント レベルでデプロイされたソリューションでは、生成されるフォルダーにユーザーが自動的に割り当てられることはありません。アカウントを割り当てるには、Orchestrator (テナント > フォルダー) で適切な設定が行われていることを確認します。

認証

必要なスコープについては、「 認証とスコープ 」および「外部アプリの設定」をご覧ください。

uipcli solution deploy MySolution \
  -v 1.2.3 \
  -d MySolution-Prod-v1.2.3 \
  -f Production \
  -U https://cloud.uipath.com/ \
  -T DefaultTenant \
  -A myorg \
  -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -S **** \
  --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
  --traceLevel Information
uipcli solution deploy MySolution \
  -v 1.2.3 \
  -d MySolution-Prod-v1.2.3 \
  -f Production \
  -U https://cloud.uipath.com/ \
  -T DefaultTenant \
  -A myorg \
  -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -S **** \
  --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
  --traceLevel Information

デプロイの命名規則

以下を含む意味のあるデプロイ名を選択します。

  • ソリューション名
  • 環境識別子
  • バージョンまたは日付
MySolution-Dev-v1.2.3
MySolution-Test-2025-01-15
MySolution-Prod-Release-1.2.3
InvoiceProcessing-Production-v2.0.0
MySolution-Dev-v1.2.3
MySolution-Test-2025-01-15
MySolution-Prod-Release-1.2.3
InvoiceProcessing-Production-v2.0.0

これにより、複数の環境にわたるデプロイの追跡と管理が容易になります。

デプロイ中の処理

deploy コマンドを実行すると、以下の操作が実行されます。

  1. パッケージが [ソリューション] で検証されている。
  2. デプロイ設定が作成されます。
  3. デプロイはターゲット フォルダーに関連付けられます。
  4. 環境固有のバインドが初期化されます。
  5. デプロイの準備は整っていますが、まだアクティブになっていません。

ソリューションは、アクティブ化するまでプロセスの実行を開始しません。

既存のリソースを再利用する

既定では、ソリューションをデプロイすると、ターゲット フォルダー内のすべてのリソースがプロビジョニングされます。外部システムへの共有接続など、再利用するリソースが対象の環境に既に含まれている場合は、デプロイ構成ファイルを使用してソリューションのリソースを既存のリソースにリンクしてから、 を使用してデプロイ --configPath

これは、Orchestrator でソリューションを手動でデプロイする際に 、[カスタマイズ ] を選択してリソースを手動でリンクするのと同じパイプラインです。

注:

Orchestrator フォルダーに存在するリソースをリンクするには、 OR.Folders スコープと RCS.FolderAuthorization スコープが必要であり、既存のリソースを保持するフォルダーに外部アプリケーションを割り当てる必要があります。

手順

  1. パッケージのデプロイ構成をダウンロードします。「 ソリューション パッケージと構成をダウンロードする」をご覧ください。

    uipcli solution download-config MySolution \
      -d C:\Configs \
      -v 1.0.0 \
      --format json \
      -U https://cloud.uipath.com/ \
      -T DefaultTenant \
      -A myorg \
      -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
      -S **** \
      --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization"
    uipcli solution download-config MySolution \
      -d C:\Configs \
      -v 1.0.0 \
      --format json \
      -U https://cloud.uipath.com/ \
      -T DefaultTenant \
      -A myorg \
      -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
      -S **** \
      --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization"
    
  2. ダウンロードした構成ファイルを開きます。

  3. 再利用するリソースのエントリを見つけます。

  4. エントリが既存の Orchestrator リソースを名前とフォルダーで指す linkToResource ブロックを追加します。接続リソースの場合、エントリは次のようになります。

    {
      "kind": "connection",
      "name": "Slack connection",
      "resourceKey": "b060048b-4be3-425e-9822-9139605ba2a7",
      "folderPaths": [
        "solution_folder"
      ],
      "configuration": {
        "description": null,
        "authenticationType": "AuthenticateAfterDeployment",
        "connectorVersion": "2.14.7",
        "connectorKey": "uipath-salesforce-slack",
        "pollingInterval": 5
      },
      "linkToResource": {
        "name": "Existing Slack connection",
        "folderPath": "Shared"
      }
    }
    {
      "kind": "connection",
      "name": "Slack connection",
      "resourceKey": "b060048b-4be3-425e-9822-9139605ba2a7",
      "folderPaths": [
        "solution_folder"
      ],
      "configuration": {
        "description": null,
        "authenticationType": "AuthenticateAfterDeployment",
        "connectorVersion": "2.14.7",
        "connectorKey": "uipath-salesforce-slack",
        "pollingInterval": 5
      },
      "linkToResource": {
        "name": "Existing Slack connection",
        "folderPath": "Shared"
      }
    }
    

    linkToResource オブジェクトは、ソリューションのリソースを既存のリソースにポイントします。[configuration] の下のフィールドは、リソースの種類によって異なります。

  5. ソリューションをデプロイし、編集した設定を --configPathで渡します。

    uipcli solution deploy MySolution \
      -v 1.0.0 \
      -d MySolution-Prod-v1.0.0 \
      -f Production \
      --deploymentParentFolder "Shared" \
      --configPath C:\Configs\MySolution.1.0.0.json \
      -U https://cloud.uipath.com/ \
      -T DefaultTenant \
      -A myorg \
      -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
      -S **** \
      --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization"
    uipcli solution deploy MySolution \
      -v 1.0.0 \
      -d MySolution-Prod-v1.0.0 \
      -f Production \
      --deploymentParentFolder "Shared" \
      --configPath C:\Configs\MySolution.1.0.0.json \
      -U https://cloud.uipath.com/ \
      -T DefaultTenant \
      -A myorg \
      -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
      -S **** \
      --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Packages OR.Folders RCS.FolderAuthorization"
    

デプロイでは、ターゲット フォルダーに新しいリソースを作成するのではなく、リンクされたリソースが再利用されます。

コネクションの認証

接続リソースの場合、既存の接続のリンクは、複数のオプションのうちの 1 つです。構成ファイルの authenticationType フィールドには、 ConfigurableByUsersAuthenticateAfterDeploymentという 2 つの値が受け入れられます。

接続をバインド解除したままにして、実行時に選択を延期するには、[ authenticationType ] を [ ConfigurableByUsers ] に設定します。オートメーションの実行時に、ユーザーがコネクションを選択して認証します。これもアクティブ化に有効な設定です。

AuthenticateAfterDeploymentでは、デプロイの完了後に接続を認証する必要があります。アクティブ化が実行されるまでに認証されない場合、アクティブ化は失敗として報告されます。

デプロイをアクティブ化する

deploy-activate コマンドを使用すると、デプロイがライブかつ運用可能になります。

コマンド構文

uipcli solution deploy-activate <deployment-name> [options]
uipcli solution deploy-activate <deployment-name> [options]
パラメーター
パラメーター説明Required
<deployment-name>アクティブ化するデプロイの名前ですはい
-UOrchestrator URLはい
-Tテナント名はい
-A組織名はい
-I外部アプリ IDはい
-S外部アプリケーション シークレットはい
--applicationScope必要なスコープはい
--traceLevelログ レベルいいえ
--ca-certOrchestrator/Identity TLS 証明書の信頼されたルート CA ファイル (PEM、DER、または PKCS#7)。繰り返すか、コンマで区切ります。「カスタム証明書を信頼する」をご覧ください。いいえ
--pinnedpubkeyリーフの公開鍵 (sha256//<base64>をピン留めします。「カスタム証明書を信頼する」をご覧ください。いいえ

認証

必要なスコープについては、「 認証とスコープ 」および「外部アプリの設定」をご覧ください。

uipcli solution deploy-activate MySolution-Prod-v1.2.3 \
  -U https://cloud.uipath.com/ \
  -T DefaultTenant \
  -A myorg \
  -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -S **** \
  --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
  --traceLevel Information
uipcli solution deploy-activate MySolution-Prod-v1.2.3 \
  -U https://cloud.uipath.com/ \
  -T DefaultTenant \
  -A myorg \
  -I 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -S **** \
  --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write" \
  --traceLevel Information

アクティベーション中の処理

デプロイをアクティブ化すると、以下の処理が行われます。

  1. デプロイがターゲット フォルダー内のアクティブなバージョンになります。
  2. トリガーがアクティブになります。
  3. 同じフォルダー内に以前にアクティブだったデプロイは非アクティブ化されます。

CI/CD パイプラインの統合

完全なデプロイ ワークフロー

steps:
  # 1. Pack the Solution
  - name: Pack Solution
    run: |
      uipcli solution pack ./MySolution \
        --output ./packages \
        --version "1.0.${{ github.run_number }}"

  # 2. Upload to Solutions Management
  - name: Upload Package
    run: |
      uipcli solution upload-package ./packages/MySolution.1.0.${{ github.run_number }}.zip \
        -U ${{ secrets.ORCHESTRATOR_URL }} \
        -T ${{ secrets.ORCHESTRATOR_TENANT }} \
        -A ${{ secrets.ORG_NAME }} \
        -I ${{ secrets.EXTERNAL_APP_ID }} \
        -S ${{ secrets.EXTERNAL_APP_SECRET }} \
        --applicationScope "AutomationSolutions Solutions.Packages Solutions.Packages.Write"

  # 3. Deploy to target environment
  - name: Deploy Solution
    run: |
      uipcli solution deploy MySolution \
        -v "1.0.${{ github.run_number }}" \
        -d "MySolution-Prod-v1.0.${{ github.run_number }}" \
        -f Production \
        -U ${{ secrets.ORCHESTRATOR_URL }} \
        -T ${{ secrets.ORCHESTRATOR_TENANT }} \
        -A ${{ secrets.ORG_NAME }} \
        -I ${{ secrets.EXTERNAL_APP_ID }} \
        -S ${{ secrets.EXTERNAL_APP_SECRET }} \
        --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"

  # 4. Activate the deployment
  - name: Activate Deployment
    run: |
      uipcli solution deploy-activate "MySolution-Prod-v1.0.${{ github.run_number }}" \
        -U ${{ secrets.ORCHESTRATOR_URL }} \
        -T ${{ secrets.ORCHESTRATOR_TENANT }} \
        -A ${{ secrets.ORG_NAME }} \
        -I ${{ secrets.EXTERNAL_APP_ID }} \
        -S ${{ secrets.EXTERNAL_APP_SECRET }} \
        --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"
steps:
  # 1. Pack the Solution
  - name: Pack Solution
    run: |
      uipcli solution pack ./MySolution \
        --output ./packages \
        --version "1.0.${{ github.run_number }}"

  # 2. Upload to Solutions Management
  - name: Upload Package
    run: |
      uipcli solution upload-package ./packages/MySolution.1.0.${{ github.run_number }}.zip \
        -U ${{ secrets.ORCHESTRATOR_URL }} \
        -T ${{ secrets.ORCHESTRATOR_TENANT }} \
        -A ${{ secrets.ORG_NAME }} \
        -I ${{ secrets.EXTERNAL_APP_ID }} \
        -S ${{ secrets.EXTERNAL_APP_SECRET }} \
        --applicationScope "AutomationSolutions Solutions.Packages Solutions.Packages.Write"

  # 3. Deploy to target environment
  - name: Deploy Solution
    run: |
      uipcli solution deploy MySolution \
        -v "1.0.${{ github.run_number }}" \
        -d "MySolution-Prod-v1.0.${{ github.run_number }}" \
        -f Production \
        -U ${{ secrets.ORCHESTRATOR_URL }} \
        -T ${{ secrets.ORCHESTRATOR_TENANT }} \
        -A ${{ secrets.ORG_NAME }} \
        -I ${{ secrets.EXTERNAL_APP_ID }} \
        -S ${{ secrets.EXTERNAL_APP_SECRET }} \
        --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"

  # 4. Activate the deployment
  - name: Activate Deployment
    run: |
      uipcli solution deploy-activate "MySolution-Prod-v1.0.${{ github.run_number }}" \
        -U ${{ secrets.ORCHESTRATOR_URL }} \
        -T ${{ secrets.ORCHESTRATOR_TENANT }} \
        -A ${{ secrets.ORG_NAME }} \
        -I ${{ secrets.EXTERNAL_APP_ID }} \
        -S ${{ secrets.EXTERNAL_APP_SECRET }} \
        --applicationScope "AutomationSolutions Solutions.Deployments Solutions.Deployments.Read Solutions.Deployments.Write Solutions.Packages Solutions.Packages.Read Solutions.Packages.Write"

手動承認によるゲート デプロイ

デプロイ ステップとアクティブ化ステップを分離して、承認ワークフローを実装できます。

# Stage 1: Deploy (automated)
- stage: DeployToProduction
  jobs:
  - job: Deploy
    steps:
    - script: |
        uipcli solution deploy MySolution -v $(version) -d MySolution-Prod-$(version) -f Production ...
      displayName: 'Prepare Production Deployment'

# Stage 2: Activate (requires approval)
- stage: ActivateProduction
  dependsOn: DeployToProduction
  # Manual approval gate configured in Azure DevOps
  jobs:
  - deployment: Activate
    environment: 'Production'
    steps:
    - script: |
        uipcli solution deploy-activate MySolution-Prod-$(version) ...
      displayName: 'Activate Production Deployment'
# Stage 1: Deploy (automated)
- stage: DeployToProduction
  jobs:
  - job: Deploy
    steps:
    - script: |
        uipcli solution deploy MySolution -v $(version) -d MySolution-Prod-$(version) -f Production ...
      displayName: 'Prepare Production Deployment'

# Stage 2: Activate (requires approval)
- stage: ActivateProduction
  dependsOn: DeployToProduction
  # Manual approval gate configured in Azure DevOps
  jobs:
  - deployment: Activate
    environment: 'Production'
    steps:
    - script: |
        uipcli solution deploy-activate MySolution-Prod-$(version) ...
      displayName: 'Activate Production Deployment'

マルチ環境の推進

同じバージョンを複数の環境に順番にデプロイします。

# Deploy to Dev
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Dev-1.2.3 -f Dev ...
uipcli solution deploy-activate MySolution-Dev-1.2.3 ...

# Deploy to Test
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Test-1.2.3 -f Test ...
uipcli solution deploy-activate MySolution-Test-1.2.3 ...

# Deploy to Production (after approval)
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Prod-1.2.3 -f Production ...
uipcli solution deploy-activate MySolution-Prod-1.2.3 ...
# Deploy to Dev
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Dev-1.2.3 -f Dev ...
uipcli solution deploy-activate MySolution-Dev-1.2.3 ...

# Deploy to Test
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Test-1.2.3 -f Test ...
uipcli solution deploy-activate MySolution-Test-1.2.3 ...

# Deploy to Production (after approval)
uipcli solution deploy MySolution -v 1.2.3 -d MySolution-Prod-1.2.3 -f Production ...
uipcli solution deploy-activate MySolution-Prod-1.2.3 ...

ロールバック戦略

以前のバージョンにロールバックするには、以下の手順を実行します。

  1. 以前のバージョンを新しいデプロイ名でデプロイします。
  2. 以前のバージョンのデプロイをアクティブ化します。
  3. 必要に応じて、新しいデプロイをアンインストールします。
# Roll back to v1.2.2
uipcli solution deploy MySolution -v 1.2.2 -d MySolution-Prod-Rollback-1.2.2 -f Production ...
uipcli solution deploy-activate MySolution-Prod-Rollback-1.2.2 ...
# Roll back to v1.2.2
uipcli solution deploy MySolution -v 1.2.2 -d MySolution-Prod-Rollback-1.2.2 -f Production ...
uipcli solution deploy-activate MySolution-Prod-Rollback-1.2.2 ...

次のステップ

ソリューションをデプロイしてアクティブ化したら、以下を行うことができます。

  1. Orchestrator で実行を監視します。
  2. 不要になったデプロイをアンインストール します。
  3. 同じワークフローに従って新しいバージョンをデプロイします。

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得