UiPath Documentation
uipath-cli
latest
false
Guide de l'utilisateur de UiPath CLI
Important :
Ce contenu a été traduit à l'aide d'une traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

pack de solution uip

Syntaxe et options pour `uip solution pack`, qui produit un fichier `.zip` déployable à partir d'un répertoire de solution ou d'un fichier de bundle `.uis`.

uip solution pack produit un package .zip déployable à partir d'un répertoire de solution (contenu un manifeste .uipx ) ou d'un fichier de bundle .uis . L’archive résultante est ce que uip solution publish télécharge dans le flux de locataire, que uip solution deploy run peut ensuite déployer.

Pack is an offline operation — it does not contact Orchestrator except to resolve NuGet dependencies from tenant feeds (or an Orchestrator folder's library feed via --feed-folder), and does not contact AutomationOps except when a governance flag or --ignored-rules is passed while you are signed in — so it is safe to run inside build steps that do not yet have full credentials, as long as dependency resolution is covered.

Synthèse​

uip solution pack <solutionPath> [outputPath] \
  [--name <name>] [--version <version>] \
  [--dry-run] \
  [--skip-analyze] [--ignored-rules <rules>] [--governance-file-path <path>] [--governance-product <product>] \
  [--nuget-sources-config-path <path>] [--exclude-configured-sources] [--feed-folder <name>] \
  [--signing-certificate-path <path>] [--signing-certificate-password <password>] [--signing-timestamp-server <url>] \
  [--author <text>] [--description <text>] [--release-notes <text>] [--project-url <url>] \
  [--repository-url <url>] [--repository-commit <sha>] [--repository-branch <branch>] [--repository-type <type>] \
  [--login-validity <minutes>]
uip solution pack <solutionPath> [outputPath] \
  [--name <name>] [--version <version>] \
  [--dry-run] \
  [--skip-analyze] [--ignored-rules <rules>] [--governance-file-path <path>] [--governance-product <product>] \
  [--nuget-sources-config-path <path>] [--exclude-configured-sources] [--feed-folder <name>] \
  [--signing-certificate-path <path>] [--signing-certificate-password <password>] [--signing-timestamp-server <url>] \
  [--author <text>] [--description <text>] [--release-notes <text>] [--project-url <url>] \
  [--repository-url <url>] [--repository-commit <sha>] [--repository-branch <branch>] [--repository-type <type>] \
  [--login-validity <minutes>]

La commande respecte les options globales et renvoie les codes de sortie standard.

Arguments​

  • <solutionPath> (requis) : Chemin d'accès à un répertoire de solution (contenant un manifeste .uipx ) ou un fichier .uis .
  • [outputPath] (facultatif) : le répertoire de sortie où le package .zip sera écrit. Obligatoire si --dry-run n'est pas défini — l'omettre sans --dry-run échoue avec un pointeur pour ajouter l'une ou l'autre.

Options​

LongValeur (Value)DefaultDescription
-n, --name <name>textnom du dossier de la solution (ou nom de base du fichier .uis)Nom du package. Le package .zip se nomme <name>_<version>.zip.
-v, --version <version>text1.0.0Version du package. Apparaît dans le nom du fichier de sortie et correspond à la valeur transmise à --package-version le deploy run.
--dry-runDrapeaudésactivéExécutez le pipeline de pack complet (synchronisation des ressources, émission de dépendances du runtime, validation de l'option du package) sur une copie temporaire jeton et supprimez la sortie. Détecte les échecs de compression — une dépendance manquante, une liaison de ressources interrompue, un type de projet non compressé — sans produire de .zip ni écrire quoi que ce soit dans la solution. Elle n’inspecte pas le contenu du package produit et ne peut donc pas garantir que le flux de solution acceptera le résultat. rend [outputPath] facultatif.
--login-validity <minutes>minutes10Minimum minutes before token expiration to trigger a refresh. Only relevant when dependency resolution needs a tenant feed, or when the tenant's governance policy is checked.

Résolution des dépendances​

LongValeur (Value)DefaultDescription
--nuget-sources-config-path <path>Chemin d'accès—Chemin d’accès à un fichier de configuration des sources NuGet pour résoudre les dépendances du projet.
--exclude-configured-sourcesDrapeaudésactivéRésolvez les dépendances uniquement à partir des flux de locataires et de --nuget-sources-config-path. Dépose les flux UiPath et nuget.org intégrés — une dépendance non basée sur ces flux ne parvient pas à être restaurée.
--feed-folder <name>nom ou chemin—Résolvez les dépendances à partir du flux de bibliothèque de ce dossier Orchestrator au lieu de chaque flux de locataire. Accepte un nom de dossier ou un chemin complet.

Analyse de la gouvernance​

--skip-analyze, --ignored-rules, --governance-file-path, and --governance-product control the workflow analyzer that runs against every RPA project in the solution. The flags can be combined.

LongValeur (Value)DefaultDescription
--skip-analyzeDrapeaudésactivéIgnorez l’analyseur de workflow pour chaque projet RPA. La compilation et la validation continuent de s’exécuter: seules les règles d’analyse sont ignorées.
--ignored-rules <rules>comma-separated rule IDs—Analyzer rule IDs whose findings are ignored for every RPA project, for example ST-USG-034,ST-MRD-002. Repeat the flag to add more. The rules still run, but their findings are not reported and do not fail the pack. Applies on top of --governance-file-path or the shipped rules. When the signed-in tenant publishes an AutomationOps policy, the list is not applied and a warning says so.
--governance-file-path <path>Chemin d'accès—Analyze every RPA project against this local governance policy file instead of the analyzer rules shipped with the WorkflowCompiler. Accepts a policy exported from AutomationOps or a Studio rules-configuration file. When you are signed in, the tenant is asked first (about StudioWeb, unless --governance-product names another product). When the tenant publishes a policy of its own, that policy is used, this file is ignored with a warning, and the pack continues. When the tenant publishes no policy, when it cannot be asked, or when its policy service does not answer, this file is used. The file is read before the tenant is asked, so an unreadable or non-JSON file fails the pack in every case.
--governance-product <product>text—Analysez chaque projet RPA par rapport à la politique de gouvernance publiée dans AutomationOps pour le locataire connecté. La valeur correspond au produit dont la politique est téléchargée, par exemple StudioWeb, Development, Business.

Une valeur vide pour l’un ou l’autre des indicateurs de gouvernance (--governance-file-path "") est rejetée comme une erreur et non traitée silencieusement comme « aucun indicateur».

Signature du package​

La signature du .nupkg d'un projet déjà compressé nécessite la CLI dotnet sur PATH.

LongValeur (Value)DefaultDescription
--signing-certificate-path <path>Chemin d'accès—Chemin d'accès à un certificat de signature de code .pfx. Lorsque cette option est définie, chaque projet compressé .nupkg dans la solution est signé avant d'être intégré à la solution .zip.
--signing-certificate-password <password>texte ou env.VAR—Mot de passe du certificat. Transmettez env.ENV_NAME pour lire à partir d'une variable d'environnement au lieu de l'historique du shell.
--signing-timestamp-server <url>URL—URL du serveur d’horodatage pour la signature.

Métadonnées des packages (traçage des sources)​

These flags stamp traceability metadata into a package.metadata.json file at the archive root and into each project's .nuspec. None are required. When --author or --description is omitted, each member project keeps the value its own project file declares, and falls back to UiPath / Created by UiPath when it declares none.

LongValeur (Value)DefaultDescription
--author <text>texteach project's own author, else UiPathPackage author. When set, applies to every member project.
--description <text>texteach project's own description, else Created by UiPathPackage description. When set, applies to every member project.
--release-notes <text>text—Notes de publication du package.
--project-url <url>URL—URL de l'idée Automation Hub.
--repository-url <url>URL—URL du référentiel source.
--repository-commit <sha>text—Hachage de validation du référentiel source.
--repository-branch <branch>text—Branche du référentiel source.
--repository-type <type>textgit (lorsque --repository-url est défini)Type du référentiel source. Enregistré uniquement lorsque --repository-url est également défini.

Exemples​

Minimum​

uip solution pack ./my-solution ./dist
uip solution pack ./my-solution ./dist

Compresse la solution à ./my-solution dans ./dist/my-solution_1.0.0.zip (version par défaut).

Commun — nom et version du code PIN pour une version CI​

uip solution pack ./my-solution ./dist --name invoices --version 1.2.0
uip solution pack ./my-solution ./dist --name invoices --version 1.2.0

Écrit ./dist/invoices_1.2.0.zip.

Valider sans mise en package​

uip solution pack ./my-solution --dry-run
uip solution pack ./my-solution --dry-run

Exécute le pipeline de compression complet par rapport à un répertoire temporaire et supprime la sortie - utile comme passerelle de pré-déploiement dans CI, car il détecte les erreurs de liaison de ressources, de référence de variables et de dépendance du runtime sans nécessiter un outputPath.

Métadonnées de traçabilité de la source​

uip solution pack ./my-solution ./dist --version 1.2.0 \
  --repository-url https://github.com/acme/repo \
  --repository-commit abc123 \
  --repository-branch main \
  --release-notes "v1.2.0"
uip solution pack ./my-solution ./dist --version 1.2.0 \
  --repository-url https://github.com/acme/repo \
  --repository-commit abc123 \
  --repository-branch main \
  --release-notes "v1.2.0"

Signer les projets compressés​

uip solution pack ./my-solution ./dist --version 1.2.0 \
  --signing-certificate-path ./cert.pfx \
  --signing-certificate-password env.UIPATH_SIGNING_CERTIFICATE_PASSWORD \
  --signing-timestamp-server http://timestamp.digicert.com
uip solution pack ./my-solution ./dist --version 1.2.0 \
  --signing-certificate-path ./cert.pfx \
  --signing-certificate-password env.UIPATH_SIGNING_CERTIFICATE_PASSWORD \
  --signing-timestamp-server http://timestamp.digicert.com

Ignorer l’analyseur de workflow​

uip solution pack ./my-solution ./dist --version 1.2.0 --skip-analyze
uip solution pack ./my-solution ./dist --version 1.2.0 --skip-analyze

La compilation et la validation continuent de s’exécuter: seules les règles d’analyse sont ignorées.

Analyser par rapport à une politique de gouvernance de locataire​

uip solution pack ./my-solution ./dist --version 1.2.0 --governance-product Development
uip solution pack ./my-solution ./dist --version 1.2.0 --governance-product Development

Ignore specific analyzer rules​

uip solution pack ./my-solution ./dist --version 1.2.0 --ignored-rules ST-USG-034,ST-MRD-002
uip solution pack ./my-solution ./dist --version 1.2.0 --ignored-rules ST-USG-034,ST-MRD-002

The rules still run, but their findings do not fail the pack. The list is not applied when the tenant publishes an AutomationOps policy.

Scripts — capturez le chemin de sortie de l'étape de publication​

PKG=$(uip solution pack ./my-solution ./dist --version 1.2.0 --output-filter "Packages" --output plain)
uip solution publish "$PKG"
PKG=$(uip solution pack ./my-solution ./dist --version 1.2.0 --output-filter "Packages" --output plain)
uip solution publish "$PKG"

Format des données (--sortie json)​

Pack réel:

{
  "Code": "SolutionPack",
  "Data": {
    "Package": "my-solution@1.2.0",
    "Packages": "./dist/my-solution_1.2.0.zip"
  }
}
{
  "Code": "SolutionPack",
  "Data": {
    "Package": "my-solution@1.2.0",
    "Packages": "./dist/my-solution_1.2.0.zip"
  }
}
  • Package — <name>@<version> identifiant de la solution packagée.
  • Packages — Liste de .zip chemin(s) séparés par des virgules écrites dans <outputPath>. Généralement un chemin unique.

Test (--dry-run):

{
  "Code": "SolutionPack",
  "Data": {
    "Package": "my-solution@1.0.0",
    "DryRun": true,
    "Status": "Valid"
  }
}
{
  "Code": "SolutionPack",
  "Data": {
    "Package": "my-solution@1.0.0",
    "DryRun": true,
    "Status": "Valid"
  }
}

When the pack fails and the packager reports per-project results, the failure envelope carries Data.Projects, one entry per member project:

ChampDescription
PathThe project directory, relative to the solution directory, with forward slashes.
TypeThe project type.
ResultSuccess ou Failure.
MessageThe project's result message, when it has one.
FindingsThe project's findings. Each finding can carry Level, Source (Other, Analyzer, Validator, or Compiler), ErrorCode, RuleName, Description, FilePath, ActivityIdRef, and DocumentationLink.

Data.Projects is omitted when the failure belongs to no project.

Types de projet​

Pack hands each member project to the packager tool for its project type. Some project types have their own pack behavior:

Type de projetPack behavior
FluxThe .flow file is checked against the Maestro designer's validation rules. A flow with errors fails the pack. Every issue, warnings included, is reported as a finding, with ActivityIdRef naming the node.
Règles métierPacked as a .uirule archive named <rule-name>-<version>.uirule, holding the rule's .dmn files and an entry-points.json derived from them.
Data Fabric entitiesValidated only: pack checks that every entity definition is intact and its schema is valid. The entity definition resources are the deployable payload, so no separate package is produced for the project.

Modes d’échec​

  • outputPath manquant sans --dry-run. Échec avec un pointeur pour fournir un répertoire de sortie ou transmettre --dry-run.
  • Empty governance flag value. An empty value for --governance-file-path or --governance-product is rejected.
  • Unusable governance policy file. A --governance-file-path file that cannot be read or is not JSON fails the pack. So does a file that holds only the inner policy of an AutomationOps export; pass the exported file as-is.
  • Member package ID collision. A member's package ID is composed as <solution>.<project-type>.<member-folder>, capped at 100 characters, and must be unique across the solution. Spaces and dots collapse to a single dot, and IDs are compared case-insensitively. When two members compose the same ID, the pack fails with ErrorCode: invalid_argument, naming the ID and the folders that produced it. The <solution> part is the .uipx file's own name; --name renames the archive only and does not change member IDs. Rename the member folder or the .uipx, then pack again.
  • Project failure. A project that fails compilation, validation, or analysis fails the pack. Data.Projects names the project and its findings.
  • Chemin de sortie dans un répertoire de projet membre. Refuser: tout ce qui y est écrit serait compressé dans le package suivant de ce projet. Choisissez un chemin de sortie situé en dehors des répertoires du projet de solution (par exemple ./out à la racine de la solution ou un répertoire entièrement en dehors de la solution).
  • Type de projet ne peut pas être compressé. Nommez le type de projet et pointez sur uip tools search / uip tools install <tool> pour ajouter l'outil de packaging qui le gère (ou uip update d'abord, s'il s'agit d'un type récemment ajouté).
  • uip solution publish — télécharge le fichier .zip compressé dans le flux de solution du locataire.
  • uip solution upload — chemin alternatif qui charge la solution dans Studio Web pour la modification interactive au lieu de la compresser pour le déploiement.
  • uip solution deploy run — déploie un package publié dans Orchestrator.

Voir également​

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

Connecter

Besoin d'aide ? Assistance(opens in new window)

Vous souhaitez apprendre ? UiPath Academy(opens in new window)

Vous avez des questions ? UiPath Forum(opens in new window)

Rester à jour