- 概要
- UiPath CLI
- Azure DevOps 拡張機能
- Jenkins プラグイン
CI/CD 連携ユーザー ガイド
このページでは、パッケージの依存関係を解決するときにどの NuGet フィード uipcli 参照するかを制御する 3 つの CLI パラメーターについて説明し、それぞれの使用方法を示します。
スタンドアロンの RPA プロジェクト と ソリューションの両方に同じパラメーターが適用されます。
uipcli によるフィードの解決方法
既定では、 uipcli は 3 つのソースからパッケージを次の順序で解決します。
- CLI に付属する組み込みフィード:
https://pkgs.dev.azure.com/uipath/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.jsonhttps://gallery.uipath.com/api/v2https://api.nuget.org/v3/index.jsonC:\Program Files\Microsoft SDKs\NuGetPackages(このパスが現在のエージェント上にある場合)C:\Program Files (x86)\Microsoft SDKs\NuGetPackages(このパスが現在のエージェント上にある場合)
- CLI を実行するマシンでのホスト レベルの NuGet の構成。通常は
%AppData%\NuGet\NuGet.Config(ユーザー レベル) と%ProgramFiles(x86)%\NuGet\Config(マシン レベル) - 通過するカスタム
nuget.config--nugetConfigFilePath。
次の 3 つのパラメーターを使用して、この既定の解像度をカスタマイズできます。
| パラメーター | 制御するもの |
|---|---|
--nugetConfigFilePath | 指定した nuget.config ファイルからフィードを追加します。 |
--disableBuiltInNugetFeeds | レイヤー 1 (組み込みフィード) をドロップします。 |
--excludeConfiguredSources | レイヤー 1 と レイヤー 2 をドロップします。 --nugetConfigFilePath フィードのみが残ります。 |
構成ファイルを使用して uipcli を実行する場合、各パラメーターには同等の JSON スタイル ( "nugetConfigFilePath": "..."、 "disableBuiltInNugetFeeds": true、 "excludeConfiguredSources": true) があります。
カスタム フィードの追加 --nugetConfigFilePath
--nugetConfigFilePath、依存関係の解決に<packageSources>を含める nuget.config ファイルを指定します。これは、ビルド エージェントを何も変更せずにプライベート フィード (企業の ProGet、Artifactory、Azure Artifacts、内部 Nexus など) を追加する主な方法です。
このファイルは、標準の NuGet スキーマに従います。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyCustomFeed" value="https://my.corp.example/nuget/v3/index.json" />
</packageSources>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="MyCustomFeed" value="https://my.corp.example/nuget/v3/index.json" />
</packageSources>
</configuration>
コマンドラインでパスを渡します。
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config"
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config"
CLI は、--nugetConfigFilePathで渡すファイル内の <clear /> タグを無視します。組み込みのソースとホスト レベルのソースを除外するには、代わりに --excludeConfiguredSources を使用します。
別の方法: nuget.config を CLI キャッシュ フォルダーに配置します
すべての呼び出しでパラメーターを渡さない場合は、uipcliがキャッシュされているフォルダーにnuget.configをドロップできます。CLI は自動的に検出します。
Azure DevOps でカスタム nuget.configを使用する
InstallPlatform手順の後にnuget.config$(Agent.ToolsDirectory)/uipcliにコピーします。
trigger:
- main
pool:
vmImage: ubuntu-latest
stages:
- stage: Demo
jobs:
- job: Demo
steps:
- task: UiPathInstallPlatform@6
inputs:
cliVersion: '25.10'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: 'nuget.config'
TargetFolder: '$(Agent.ToolsDirectory)/uipcli'
- task: UiPathPack@6
inputs:
versionType: 'AutoVersion'
projectJsonPath: '$(Build.SourcesDirectory)/project.json'
outputPath: '$(Build.ArtifactStagingDirectory)/Output'
traceLevel: 'Information'
trigger:
- main
pool:
vmImage: ubuntu-latest
stages:
- stage: Demo
jobs:
- job: Demo
steps:
- task: UiPathInstallPlatform@6
inputs:
cliVersion: '25.10'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: 'nuget.config'
TargetFolder: '$(Agent.ToolsDirectory)/uipcli'
- task: UiPathPack@6
inputs:
versionType: 'AutoVersion'
projectJsonPath: '$(Build.SourcesDirectory)/project.json'
outputPath: '$(Build.ArtifactStagingDirectory)/Output'
traceLevel: 'Information'
Jenkins でカスタム nuget.configを使用する
InstallPlatform手順の後にnuget.config${WORKSPACE}/CLIにコピーします。
pipeline {
agent {
label 'jenkins-agent'
}
stages {
stage('Clone') {
steps {
git (
branch: 'main',
url: 'https://github.com/your-org/your-repo.git'
)
}
}
stage('Install Platform') {
steps {
UiPathInstallPlatform (
cliVersion: '25.10',
traceLevel: 'Information'
)
}
}
stage('Copy nuget.config') {
steps {
bat 'copy nuget.config CLI\\nuget.config'
}
}
stage('Pack') {
steps {
UiPathPack (
outputPath: '${WORKSPACE}/Output',
projectJsonPath: '${WORKSPACE}/project.json',
traceLevel: 'Information',
version: AutoVersion()
)
}
}
}
}
pipeline {
agent {
label 'jenkins-agent'
}
stages {
stage('Clone') {
steps {
git (
branch: 'main',
url: 'https://github.com/your-org/your-repo.git'
)
}
}
stage('Install Platform') {
steps {
UiPathInstallPlatform (
cliVersion: '25.10',
traceLevel: 'Information'
)
}
}
stage('Copy nuget.config') {
steps {
bat 'copy nuget.config CLI\\nuget.config'
}
}
stage('Pack') {
steps {
UiPathPack (
outputPath: '${WORKSPACE}/Output',
projectJsonPath: '${WORKSPACE}/project.json',
traceLevel: 'Information',
version: AutoVersion()
)
}
}
}
}
組み込みフィードを無効化する --disableBuiltInNugetFeeds
--disableBuiltInNugetFeeds 、UiPath の組み込みフィードが解像度から削除されます。ホスト レベルの NuGet の構成と、 --nugetConfigFilePath からのフィードは引き続き参照されます。
これは、次の場合に使用します。
- ネットワークは
pkgs.dev.azure.com、gallery.uipath.com、またはapi.nuget.orgをブロックし、代わりにパッケージを内部的にミラーリングします。 - アクティビティ パッケージ バージョンが確定的に構成されていて、
gallery.uipath.comフィードからではなく、独自のフィードから取得する必要がある。
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config" \
--disableBuiltInNugetFeeds
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config" \
--disableBuiltInNugetFeeds
カスタム フィードのみに制限する --excludeConfiguredSources
--excludeConfiguredSources には、組み込みフィードと、CLI を実行するホスト上のユーザー レベルおよびマシン レベルで設定された NuGet ソースの両方が除外されます (通常は %AppData%\NuGet\NuGet.Config および %ProgramFiles(x86)%\NuGet\Config)。CLI は、 --nugetConfigFilePathで定義されたフィードからのみパッケージを解決します。
これは、次の場合に使用します。
- バージョン管理で宣言したフィードのみが参照される、密閉された再現可能なビルドが必要です。
- 共有ビルドエージェントには、特定のパイプラインに出血させたくないマシンレベルのフィードがあります。
- ホスト レベルの NuGet 構成の相違が原因で発生する、"エージェント A で動作し、エージェント B で失敗する" 問題をデバッグしています。
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config" \
--excludeConfiguredSources
uipcli package pack "C:\projects\MyProject\project.json" -o "C:\Output" \
--nugetConfigFilePath "C:\ci\nuget.config" \
--excludeConfiguredSources
他のソースは参照されないため、--nugetConfigFilePath と共に渡すnuget.configに、プロジェクトが必要とするすべてのフィード (UiPath フィードに相当するものも含む) が宣言されていることを確認してください。