- Introdução ao Test Suite
- Studio
- Orchestrator
- Testing Robots
- Test Manager
- Integrações CI/CD
Plug-in do Jenkins
Esse plug-in permite criar e implantar processos de automação da UiPath, bem como executar casos de teste automatizados do UiPath.
Para empacotar projetos criados com o UiPath Studio a partir da versão 2020.10, você precisa usar a versão 2.1 ou superior dessa extensão.
- Servidor Jenkins em execução no Windows ou Linux.
- Pelo menos um escravo Jenkins em execução no Windows (necessário para a execução da etapa).
-
Instância do Orchestrator (autenticações básica, federada ou em nuvem são compatíveis).
- Os recursos de teste exigem o Orchestrator na versão 2020.4 ou superior.
- Ao usar um On-Premise Orchestrator em HTTPS, certifique-se de importar o certificado SSL para que as chamadas HTTPS para o Orchestrator possam ser confiáveis.
A etapa de pós-compilação do UiPath Run Job inicia um processo já implantado em uma instância do Orchestrator. Os processos aos quais esta tarefa se refere podem ser encontrados em Automações->Processos nas versões mais recentes do Orchestrator e diretamente na guia Processos nas versões mais antigas do Orchestrator.
Configuração
Parâmetro do trabalho |
Description |
---|---|
Processo (obrigatório) |
Nome do processo. Você pode obter o nome do processo na interface do usuário do orquestrador. Se o processo for implantado em uma pasta Moderna, esse argumento deverá ser o Nome do processo na guia Processos . Se o processo for implantado em uma pasta Classic, o argumento deve ser formado pelo Nome do processo e pelo Ambiente (por exemplo:
NAME: ProcessA ENVIRONMENT: Production ProcessName: ProcessA_Production ).
|
Parâmetros |
O caminho completo para um arquivo de entrada JSON. Isso é usado quando o processo requer entrada. |
Prioridade |
A prioridade da execução do trabalho. |
Strategy |
Especifique a estratégia de execução de trabalhos: trabalhos(s) alocado(s) dinamicamente ou trabalho(s) específico(s) de Robots. Escolha uma das seguintes opções:
|
Tipo de trabalho (disponível apenas para pastas Modernas) |
Escolha o modelo de licença do tempo de execução em que o trabalho será executado. |
Endereço do Orchestrator |
O endereço da instância do Orchestrator onde você executará o processo. |
Tenant do Orchestrator |
Especifique o locatário do orquestrador. |
Pasta do Orchestrator |
Especifique a pasta onde o processo especificado foi implantado. |
Autenticação |
Para autenticação no Orchestrator, você precisa criar credenciais no Jenkins antecipadamente. Existem quatro opções para autenticar: (1) Autenticar em um Orchestrator local usando nome de usuário e senha. (2) Autenticar em um Cloud Orchestrator usando um token de atualização (chave de API). (3) Autentique-se em um Cloud Orchestrator usando autenticação de aplicativo externo. (4) Autenticar em um Orchestrator local usando autenticação de aplicativo externo. |
Caminho de saída dos resultados do trabalho |
Especifique o caminho de saída dos resultados da tarefa (por exemplo,
testResults.json ). Os resultados são gerados no formato JSON.
Se não for especificado, os resultados são enviados Para o diretório de teste de artefatos como
UiPathResults.json . A saída está no formato JSON.
|
Tempo limite |
Especifique o tempo limite da(s) execução(ões) de trabalho em segundos. |
Falha quando um trabalho falha |
A tarefa será marcada como "com falha" se pelo menos um trabalho falhar. O valor padrão é True. |
Aguarde a conclusão do trabalho |
Aguarde a conclusão da(s) execução(ões) do trabalho. O valor padrão é True. |
Nível de registro em log do trace |
Configuração usada para habilitar o registro de rastreamento em um dos seguintes níveis:
|
Número de trabalhos |
O número de execuções de trabalhos. O valor padrão é 1. |
Usuário (disponível apenas para pastas modernas) |
O nome do usuário. Deve ser um usuário de máquina, não um usuário do Orchestrator. Para usuários locais, o formato deve ser MachineName\))\))UserName. |
Máquina (disponível apenas para pastas modernas) |
O nome da máquina. |
Nomes de robô |
Lista de nomes de robôs específicos, separados por vírgula. |
Exemplo de pipeline
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Dynamically(jobsCount: 1, machine: 'TestMachine', user: 'TestUser'), timeout: 3600, waitForJobCompletion: true, traceLoggingLevel: 'None'
)
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Robot('robot1,robot2'),
timeout: 1800,
waitForJobCompletion: false,
traceLoggingLevel: 'None'
)
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Dynamically(jobsCount: 1, machine: 'TestMachine', user: 'TestUser'), timeout: 3600, waitForJobCompletion: true, traceLoggingLevel: 'None'
)
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Robot('robot1,robot2'),
timeout: 1800,
waitForJobCompletion: false,
traceLoggingLevel: 'None'
)
}
}
}
uft-8
.
name,type,value,description
asset_1_name,text,asset_value,this is an test description # we can have comments
asset_2_name,integer,123
asset_3_name,boolean,false
asset_4_name,credential,"username::password"
name,type,value,description
asset_1_name,text,asset_value,this is an test description # we can have comments
asset_2_name,integer,123
asset_3_name,boolean,false
asset_4_name,credential,"username::password"
Há quatro tipos de ativos:
- Texto
- Número inteiro
- Booleano
-
Credential. Para Credential, você deve codificar o nome de usuário e a senha usando
::
para separar os dois campos.
Configuração
Parâmetro do trabalho |
Description |
---|---|
Ação |
O que fazer com os recursos fornecidos: implantar ou excluir. Se existir um recurso implantado, ele será atualizado. |
Endereço do Orchestrator |
O endereço da instância do Orchestrator onde você implantará ou atualizará ativos. |
Tenant do Orchestrator |
Especifique o tenant do Orchestrator no qual os ativos serão implantados ou atualizados. |
Pasta do Orchestrator |
Especifique a pasta onde os ativos serão implantados ou atualizados. |
Autenticação |
Para autenticação no Orchestrator, você precisa criar credenciais no Jenkins antecipadamente. Existem quatro opções para autenticar: (1) Autenticar em um Orchestrator local usando nome de usuário e senha. (2) Autenticar em um Cloud Orchestrator usando um token de atualização (chave de API). (3) Autentique-se em um Cloud Orchestrator usando autenticação de aplicativo externo. (4) Autenticar em um Orchestrator local usando autenticação de aplicativo externo. |
Caminho do arquivo CSV |
O caminho para o arquivo CSV que contém os detalhes do ativo. O mesmo arquivo pode ser usado para implantar ou atualizar os ativos, embora o tipo não seja necessário para atualizações. O campo
type também pode estar vazio, mas a coluna deve estar presente. Para excluir, apenas a coluna name é usada, portanto as outras colunas podem estar vazias, mas devem estar presentes.
Você pode definir uma descrição opcional para cada recurso (por exemplo:
type , value , description ). Certifique-se de remover todas as quebras de linha, pois cada linha é interpretada como um novo ativo.
|
Nível de registro em log do trace |
Configuração usada para habilitar o registro de rastreamento em um dos seguintes níveis:
|
Exemplo de pipeline
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathAssets (
assetsAction: DeployAssets(),
credentials: Token(accountName: '', credentialsId: ''),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
UiPathAssets(
assetsAction: DeleteAssets(),
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathAssets (
assetsAction: DeployAssets(),
credentials: Token(accountName: '', credentialsId: ''),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
UiPathAssets(
assetsAction: DeleteAssets(),
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
}
}
}
Aplicativo: RPA Tipo: tarefa de construção O UiPath Pack está disponível em trabalhos e pipelines padrão e permite empacotar um projeto UiPath existente em um pacote NuGet.
Configuração
Parâmetro do trabalho |
Description |
---|---|
Escolha o método de controle de versão |
Os pacotes UiPath são versionados. Com o pacote UiPath você pode escolher entre 3 opções diferentes: (1) Geração automática (2) Definir versão personalizada (3) Use a versão atual definida no projeto. |
Caminho do(s) projeto(s) |
A localização do(s) projeto(s) a ser(em) empacotado(s). Pode ser um caminho direto para um arquivo
project.json ou um diretório com um ou mais projetos. Nesse último caso, cada projeto de nível um é empacotado individualmente.
|
OutputFolder |
Caminho para uma pasta onde você deseja criar o pacote. |
Tipo de saída |
O tipo de saída do(s) projeto(s). Existem 5 opções para o(s) tipo(s) de projeto: (1) Tipo de saída do projeto (2) Embalar um projeto de processo (3) Embalar um projeto de biblioteca (4) Embalar um projeto de testes (5) Embalar um projeto de objetos. |
Executar análise do fluxo de trabalho |
Execute a análise do fluxo de trabalho antes de empacotar, verificando o projeto por meio de regras predefinidas quanto a violações. Falhe o trabalho em caso de erros. Por padrão, a análise não é executada. |
Nível de registro em log do trace |
Configuração usada para habilitar o registro de rastreamento em um dos seguintes níveis:
|
Usar orquestrador |
Use o feed do Orchestrator ao empacotar bibliotecas. A versão do Orchestrator deve igual ou superior à 20.4. O feed da biblioteca precisa permitir a autenticação de chave de API em Tenant > Configuração > Implantação. |
Endereço do Orchestrator |
Especifique o endereço da instância do Orchestrator a partir do qual as dependências da biblioteca devem ser restauradas. |
Tenant do Orchestrator |
O tenant do Orchestrator do qual as dependências da biblioteca devem ser restauradas. |
Autenticação |
Para autenticação no Orchestrator, você precisa criar credenciais no Jenkins antecipadamente. Existem quatro opções para autenticar: (1) Autenticar em um Orchestrator local usando nome de usuário e senha. (2) Autenticar em um Cloud Orchestrator usando um token de atualização (chave de API). (3) Autentique-se em um Cloud Orchestrator usando autenticação de aplicativo externo. (4) Autenticar em um Orchestrator local usando autenticação de aplicativo externo. |
Exemplo de pipeline
ipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
steps {
UiPathPack (
outputPath: "Output\)\)\)\)${env.BUILD_NUMBER}",
projectJsonPath: "UiBank\)\)\)\)project.json",
version: [$class: 'ManualVersionEntry', version: "${MAJOR}.${MINOR}.${env.BUILD_NUMBER}"]
useOrchestrator: true,
traceLoggingLevel: "None",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”]
)
}
}
}
}
ipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
steps {
UiPathPack (
outputPath: "Output\)\)\)\)${env.BUILD_NUMBER}",
projectJsonPath: "UiBank\)\)\)\)project.json",
version: [$class: 'ManualVersionEntry', version: "${MAJOR}.${MINOR}.${env.BUILD_NUMBER}"]
useOrchestrator: true,
traceLoggingLevel: "None",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”]
)
}
}
}
}
Aplicativo: RPA Tipo: Tarefa pós-compilação O UiPath Deploy está disponível em trabalhos e pipelines padrão e permite implantar um pacote UiPath NuGet no UiPath Orchestrator.
Configuração
Parâmetro do trabalho |
Description |
---|---|
Caminho do(s) pacote(s) |
A pasta que contém seu(s) pacote(s) nuget UiPath. |
Endereço do Orchestrator |
O endereço da Instância do Orchestrator para a qual o(s) pacote(s) será(ão) implantado(s). |
Tenant do Orchestrator |
O tenant do Orchestrator no qual o(s) pacote(s) será(ão) implantado(s). |
Pasta do Orchestrator |
A pasta em que os ativos serão implantados. Se a pasta for uma pasta clássica, você também precisará definir o campo
environments .
Para pastas modernas, a configuração do campo
environments não é necessária.
|
Ambientes (necessário para pastas Classic) |
O ambiente no qual o pacote será implantado como um processo. Para o projeto e o ambiente com processos existentes, os processos serão atualizados para usar a versão mais recente do projeto. Especifique o ambiente no qual o pacote será implantado como um processo. Para o projeto e o ambiente com processos existentes, os processos serão atualizados para usar a versão mais recente do projeto. |
Pontos de Entrada |
Especifique pontos de entrada para criar ou atualizar um processo. O ponto de entrada especifica o caminho de arquivo começando da raiz do projeto. Condições:
|
Autenticação |
Para autenticação no Orchestrator, você precisa criar credenciais no Jenkins antecipadamente. Existem quatro opções para autenticar: (1) Autenticar em um Orchestrator local usando nome de usuário e senha. (2) Autenticar em um Cloud Orchestrator usando um token de atualização (chave de API). (3) Autentique-se em um Cloud Orchestrator usando autenticação de aplicativo externo. (4) Autenticar em um Orchestrator local usando autenticação de aplicativo externo. |
Nível de registro em log do trace |
Configuração usada para habilitar o registro de rastreamento em um dos seguintes níveis:
|
Certifique-se de que sua rede permite o acesso ao seguinte feed de pacote do NuGet:
- https://api.nuget.org/v3/index.json
- https://uipath.pkgs.visualstudio.com/_packaging/nuget-packages/nuget/v3/index.json
- https://uipath.pkgs.visualstudio.com/Public.Feeds/_packaging/UiPath-* Internal/nuget/v3/index.json
- https://www.myget.org/F/workflow
- http://www.myget.org/F/uipath
- https://www.myget.org/F/uipath-dev/api/v3/index.json
Exemplo de pipeline
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathDeploy (
packagePath: "path\)\)\) o\)\)NuGetpackage",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
environments: "environment",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”],
traceLoggingLevel: 'None'
)
}
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathDeploy (
packagePath: "path\)\)\) o\)\)NuGetpackage",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
environments: "environment",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”],
traceLoggingLevel: 'None'
)
}
}
}
}
Aplicativo: Tipo de teste : Tarefa pós-compilação Os testes UiPath Run estão disponíveis em trabalhos e pipelines padrão e permitem:
- Execute um conjunto de testes existente no Orchestrator.
-
Empacote, implante e execute casos de teste, especificando o caminho para um projeto de teste UiPath.
Após a conclusão da execução do teste, a guia Test Result é publicada no build do Jenkins, mostrando os resultados detalhados. Além disso, um arquivo de resultados de teste JUnit é criado para o caminho de saída do resultado do teste, quando especificado, ou para a raiz da área de trabalho, se não for especificado.
Dependendo do resultado, a compilação será marcada como bem-sucedida (todos os casos de teste foram aprovados), ou instável (pelo menos um caso de teste falhou).
Configuração
Parâmetro do trabalho |
Description |
---|---|
Destino |
|
**Caminho de saída do resultado do teste** |
O conjunto de teste executado retorna o resultado do teste como
junit.xml . Especifique o caminho onde o resultado deve ser armazenado, relativo ao diretório do espaço de trabalho do Jenkins (por exemplo, result.xml ).
|
Parâmetros de Entrada |
Defina Argumentos personalizados para seus casos de teste para substituir os valores padrão no nível do conjunto de testes. Por meio dos argumentos, você pode definir parâmetros para casos de teste no runtime. Para definir argumentos, você precisa publicar um pacote com argumentos. |
Endereço do Orchestrator |
O endereço da Instância do Orchestrator para a qual o(s) pacote(s) será(ão) implantado(s). |
Tenant do Orchestrator |
O tenant do Orchestrator no qual o(s) pacote(s) será(ão) implantado(s). |
Pasta do Orchestrator |
A pasta em que os ativos serão implantados. Se ela for uma pasta clássica, você também precisará definir o campo
environments .
Para pastas modernas, definir o
environments . não é necessário.
|
Ambientes (necessário para pastas Classic) |
O ambiente no qual o pacote será implantado como um processo. Para o projeto e o ambiente com processos existentes, os processos serão atualizados para usar a versão mais recente do projeto. Especifique o ambiente no qual o pacote será implantado como um processo. Para o projeto e o ambiente com processos existentes, os processos serão atualizados para usar a versão mais recente do projeto. |
Autenticação |
Para autenticação no Orchestrator, você precisa criar credenciais no Jenkins antecipadamente. Existem quatro opções para autenticar: (1) Autenticar em um Orchestrator local usando nome de usuário e senha. (2) Autenticar em um Cloud Orchestrator usando um token de atualização (chave de API). (3) Autentique-se em um Cloud Orchestrator usando autenticação de aplicativo externo. (4) Autenticar em um Orchestrator local usando autenticação de aplicativo externo. |
Tempo Limite (segundos) |
O tempo limite de execução para a execução do teste. O valor padrão é 7200 segundos. Se o tempo limite exceder antes que a execução no Orchestrator seja concluída e retorne o resultado, a compilação será cancelada e marcada como falha. |
Nível de registro em log do trace |
Configuração usada para habilitar o registro de rastreamento em um dos seguintes níveis:
|
Exemplo de pipeline
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathTest (
testTarget: [$class: 'TestSetEntry', testSet: "My Test Set"],
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
timeout: "10000",
traceLoggingLevel: 'None',
testResultsOutputPath: "result.xml",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: "credentialsId"]
)
}
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathTest (
testTarget: [$class: 'TestSetEntry', testSet: "My Test Set"],
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
timeout: "10000",
traceLoggingLevel: 'None',
testResultsOutputPath: "result.xml",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: "credentialsId"]
)
}
}
}
}
Etapa 1: configurar seu aplicativo externo e escopos. Após adicionar o aplicativo, mantenha o ID do aplicativo, Segredo e Escopos do aplicativo em mão, para serem usados na próxima etapa.
Etapa 2: configurar as credenciais do aplicativo como texto secreto no Jenkins. Para esta etapa você precisa do Secret gerado no Automation Cloud.
Etapa 3: configure a autenticação para cada tarefa em ações pós-criação, adicionando o nome da conta, seguido pelo ID do aplicativo, segredo e escopos do aplicativo gerados por meio da Automation Cloud.
- Todos os caminhos especificados devem ser locais para o espaço de trabalho atual. Você pode usar variáveis de ambiente em caminhos, embora deva certificar-se de que elas resultem em caminhos locais para o espaço de trabalho.
- Para implantar pacotes ou executar testes, certifique-se de que o usuário autenticado tenha permissões de Exibição de pastas (ou Exibição de unidades organizacionais) e (somente20.4+ ) Exibição de tarefas em segundo plano .
- Para empacotar bibliotecas, quando conectado a uma instância do orquestrador, certifique-se de que o usuário autenticado tenha a permissão de exibição de bibliotecas .
-
Para obter mais detalhes sobre como gerenciar aplicativos externos:
- Para Cloud Orchestrator, consulte a documentação oficial.
- Para o Orchestrator local - consulte a documentação oficial.
Se você encontrar problemas de instalação ou atualização, considere os seguintes cenários para a solução dos problemas.
Descrição: Erro não autorizado.
Soluções de problemas:
-
Se você usar autenticação básica: certifique-se de que a combinação de nome de usuário e senha no login da web esteja correta.
Se a autenticação federada estiver habilitada, certifique-se de escrever o nome de usuário na tarefa como “DOMAIN\user”
-
Se você usar autenticação de token:
- Revogue o token do painel de acesso à API e gere um novo.
- Certifique-se de que o usuário que gerou a chave possa acessar o Orchestrator e tenha uma conta de usuário na instância do Orchestrator
- Se você se autenticar em um On-Premise Orchestrator: verifique se o certificado do Orchestrator é válido e se a máquina que está executa o trabalho confia no certificado do Orchestrator caso você esteja usando um certificado autoassinado. Você pode receber esse erro porque o certificado usado para o Orchestrator não é válido. Isso pode significar que ele tem o CN errado ou outros problemas de validação.
Solução: o usuário não tem permissão para executar a ação. Certifique-se de que o usuário tenha permissões para ler pastas, fazer upload de pacotes, criar e atualizar processos, ler conjuntos de teste e casos de teste, ler tarefas em segundo plano e criar e executar conjuntos de teste.
Solução: Certifique-se de que o usuário autenticado usado pelos plug-ins CI/CD tenha as permissões Folders.View e BackgroundTask.View (somente para 20.4).
Solução: certifique-se de que o pacote que você está tentando implantar não exista com a mesma versão. Se existir, considere o uso do controle de versão automático do pacote, para que a nova versão seja aprimorada toda vez que implantarmos.
C:\Windows or C:\Program Files
) para o qual o usuário não tem permissões, certifique-se de que a área de trabalho seja colocada em um caminho que possa ser acessado pelo usuário.
???
.
file.encoding
como UTF-8 nas opções Java :
Ao executar o Jenkins no Windows como um serviço: no arquivo de configuração do serviço, adicione os argumentos dentro da tag. Siga o exemplo de script abaixo.
<arguments>-Xrs -Xmx512m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -jar "%BASE%\)\)jenkins.war" --httpPort=8080 --webroot="%BASE%\)\)war"</arguments>
<arguments>-Xrs -Xmx512m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -jar "%BASE%\)\)jenkins.war" --httpPort=8080 --webroot="%BASE%\)\)war"</arguments>
--env JAVA_OPTS="..."
, seguindo o script de exemplo abaixo.
docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 jenkins/jenkins:lts
docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 jenkins/jenkins:lts
CATALINA_OPTS
. Siga o exemplo de script abaixo.
export CATALINA_OPTS="-DJENKINS_HOME=/path/to/jenkins_home/ -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -Xmx512m"
export CATALINA_OPTS="-DJENKINS_HOME=/path/to/jenkins_home/ -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -Xmx512m"
JAVA_ARGS
e adicione a codificação do arquivo. Siga o exemplo de script abaixo:
JAVA_ARGS="-Dfile.encoding=UTF-8 -Xmx512m"
JAVA_ARGS="-Dfile.encoding=UTF-8 -Xmx512m"
Ao executar em distribuições baseadas em RedHat Linux: no arquivo de configuração, procure o argumento JENKINS_JAVA_OPTIONS e adicione a codificação do arquivo. Siga o exemplo de script abaixo.
JENKINS_JAVA_OPTIONS="-Dfile.encoding=UTF-8 -Xmx512m"
JENKINS_JAVA_OPTIONS="-Dfile.encoding=UTF-8 -Xmx512m"
- Pré-requisitos
- Instalação e habilitação do plug-in
- Trabalhos
- UiPath Run Job
- UiPath Manage Assets
- UiPath Pack
- UiPath Deploy
- Testes do UiPath Run
- Obtendo a chave de API do Cloud Orchestrator
- Configurar conexão de serviço para aplicativos externos
- Informações Adicionais
- Solução de problemas do plug-in Jenkins
- erro não autorizado
- erro proibido
- Pasta/ambiente não encontrado
- O pacote já existe (conflito)
- Falha ao executar o comando (erro genérico)
- Jenkins falha ao processar caminhos contendo caracteres não latinos
- Windows
- Linux