UiPath Documentation
cicd-integrations
2025.10
true
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Guide de l'utilisateur des intégrations CI/CD

Gestion des flux NuGet

Cette page décrit les trois paramètres CLI qui contrôlent les flux NuGet uipcli consultés lors de la résolution des dépendances de packages, et montre comment utiliser chacun d'eux.

Les mêmes paramètres s'appliquent aux projets RPA autonomes et aux solutions.

Comment uipcli résout les flux

Par défaut, uipcli résout les packages de trois sources, fusionnées dans cet ordre:

  1. Flux intégrés livrés avec la CLI:
    • https://pkgs.dev.azure.com/uipath/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.json
    • https://gallery.uipath.com/api/v2
    • https://api.nuget.org/v3/index.json
    • C:\Program Files\Microsoft SDKs\NuGetPackages (si ce chemin se trouve sur l'agent actuel)
    • C:\Program Files (x86)\Microsoft SDKs\NuGetPackages (si ce chemin se trouve sur l'agent actuel)
  2. Configuration de NuGet au niveau de l'hôte sur la machine exécutant la CLI, généralement %AppData%\NuGet\NuGet.Config (au niveau utilisateur) et %ProgramFiles(x86)%\NuGet\Config (au niveau de la machine).
  3. Un nuget.configpersonnalisé que vous transmettez --nugetConfigFilePath

Trois paramètres vous permettent de personnaliser cette résolution par défaut:

ParamètreCe qu’il contrôle
--nugetConfigFilePathAjoute les flux d'un fichier nuget.config que vous fournissez.
--disableBuiltInNugetFeedsDépose la couche 1 (les flux intégrés).
--excludeConfiguredSourcesDétache les couches 1 et 2. Seuls les --nugetConfigFilePath flux restent.

Lorsque vous exécutez uipcli avec un fichier de configuration, chaque paramètre a un équivalent en style JSON: "nugetConfigFilePath": "...", "disableBuiltInNugetFeeds": true, "excludeConfiguredSources": true.

Ajout de flux personnalisés avec --nugetConfigFilePath

--nugetConfigFilePath pointe la CLI vers un fichier nuget.config dont vous souhaitez inclure le fichier <packageSources> dans la résolution des dépendances. Il s'agit de la principale façon d'ajouter un flux privé (entreprise ProGet, Artifactory, Azure Artifacts, Nexus interne, etc.) sans modifier quoi que ce soit sur l'agent de développement.

Le fichier suit le schéma NuGet standard:

<?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>

Passez le chemin sur la ligne de commande:

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"
Remarque :

La CLI ignore la balise <clear /> à l’intérieur du fichier que vous transmettez --nugetConfigFilePath. Pour exclure les sources intégrées et au niveau de l'hôte, utilisez --excludeConfiguredSources à la place.

Alternative: placez nuget.config dans le dossier de cache CLI

Si vous préférez ne pas transmettre le paramètre à chaque invocation, vous pouvez déposer la nuget.config dans le dossier où uipcli est mise en cache. La CLI le récupère automatiquement.

Utilisation d'un nuget.config personnalisé dans Azure DevOps

Copiez nuget.config dans $(Agent.ToolsDirectory)/uipcli après l’étape InstallPlatform :

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'

Utilisation d'un nuget.config personnalisé dans Jenkins

Copiez nuget.config dans ${WORKSPACE}/CLI après l’étape InstallPlatform :

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()
                )
            }
        }
    }
}

Désactiver les flux intégrés avec --disableBuiltInNugetFeeds

--disableBuiltInNugetFeeds supprime les flux intégrés d'UiPath de la résolution. La configuration de NuGet au niveau de l'hôte et tous les flux de --nugetConfigFilePath sont toujours consultés.

Utilisez cette option lorsque dans les cas suivants :

  • Votre réseau bloque pkgs.dev.azure.com, gallery.uipath.com ou api.nuget.org, et vous mettez en miroir les packages en interne à la place.
  • Vous souhaitez un ensemble déterministe de versions de packages d'activités provenant de votre propre flux, et non de 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

Restriction des flux personnalisés uniquement avec --excludeConfiguredSources

--excludeConfiguredSources exclut à la fois les flux intégrés et les sources NuGet configurées au niveau de l'utilisateur et de la machine sur l'hôte exécutant la CLI (généralement %AppData%\NuGet\NuGet.Config et %ProgramFiles(x86)%\NuGet\Config). La CLI résout les packages uniquement à partir des flux définis dans --nugetConfigFilePath.

Utilisez cette option lorsque dans les cas suivants :

  • Vous voulez des constructions hermétique et reproductible dans lesquelles seuls les flux que vous déclarez dans le contrôle de version sont consultés.
  • Un agent de développement partagé contient des flux au niveau de la machine que vous ne souhaitez pas affecter dans des pipelines spécifiques.
  • Vous déboguez les problèmes « fonctionne sur l’agent A, échoue sur l’agent B» causés par une configuration NuGet différente au niveau de l’hôte.
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
Remarque :

Assurez-vous que le nuget.config que vous transmettez avec --nugetConfigFilePath déclare chaque flux dont votre projet a besoin, y compris tous les équivalents de flux UiPath, car aucune autre source n’est consultée.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour