Com variáveis e expressões, você pode usar parâmetros de entrada e parâmetros de saída com suas tarefas de pipeline. Os parâmetros inseridos vinculam a tarefa de pipeline a uma ou mais variáveis, expressões ou condições e determinam o comportamento do pipeline quando ele é executado.
Pipelines podem executar soluções de entrega de software simples ou complexas
Ao associar tarefas de pipeline, você pode incluir expressões padrão e complexas. Como resultado, seu pipeline pode executar soluções de entrega de software simples ou complexas.
Para criar os parâmetros no seu pipeline, clique na guia Entrada ou Saída e adicione uma variável inserindo o símbolo de cifrão $ e uma expressão. Por exemplo, esse parâmetro é usado como uma entrada de tarefa que chama uma URL: ${Stage0.Task3.input.URL}
.
O formato de associações de variáveis usa componentes de sintaxe chamados de escopos e chaves. O SCOPE
define o contexto como entrada ou saída, e o KEY
define os detalhes. No exemplo de parâmetro ${Stage0.Task3.input.URL}
, o input
é o SCOPE
e a URL é a KEY
.
As propriedades de saída de qualquer tarefa podem ser resolvidas para qualquer número de níveis aninhados de vinculação de variável.
Para saber mais sobre como usar associações de variáveis em pipelines, consulte Como usar associações de variáveis em pipelines do Code Stream.
Usando expressões de cifrão com escopos e chaves para associar tarefas de pipeline
Você pode associar tarefas de pipeline usando expressões em variáveis de símbolo de cifrão. Insira expressões como ${SCOPE.KEY.<PATH>}
.
Para determinar o comportamento de uma tarefa de pipeline, em cada expressão, SCOPE
é o contexto usado pelo Code Stream. O escopo procura um KEY
, que define os detalhes da ação que a tarefa realiza. Quando o valor para KEY
é um objeto aninhado, você pode fornecer um PATH
opcional.
Esses exemplos descrevem SCOPE
e KEY
e mostram como você pode usá-los no seu pipeline.
Tabela 1.
Usando SCOPE e KEY
SCOPE |
Finalidade da expressão e do exemplo |
KEY |
Como usar SCOPE e KEY no pipeline |
entrada |
Propriedades de entrada de um pipeline: ${input.input1} |
Nome da propriedade de entrada |
Para fazer referência à propriedade de entrada de um pipeline em uma tarefa, use este formato:
tasks:
mytask:
type: REST
input:
url: ${input.url}
action: get
input:
url: https://www.vmware.com
|
saída |
Propriedades de saída de um pipeline: ${output.output1} |
Nome da propriedade de saída |
Para fazer referência a uma propriedade de saída para enviar uma notificação, use este formato:
notifications:
email:
- endpoint: MyEmailEndpoint
subject: "Deployment Successful"
event: COMPLETED
to:
- [email protected]
body: |
Pipeline deployed the service successfully. Refer ${output.serviceURL}
|
entrada de tarefa |
Entrada para uma tarefa: ${MY_STAGE.MY_TASK.input.SOMETHING} |
Indica a entrada de uma tarefa em uma notificação |
Quando um trabalho do Jenkins é iniciado, ele pode fazer referência ao nome do trabalho disparado na entrada da tarefa. Nesse caso, envie uma notificação usando este formato:
notifications:
email:
- endpoint: MyEmailEndpoint
stage: MY_STAGE
task: MY_TASK
subject: "Build Started"
event: STARTED
to:
- [email protected]
body: |
Jenkins job ${MY_STAGE.MY_TASK.input.job} started for commit id ${input.COMMITID}.
|
saída da tarefa |
Saída de uma tarefa: ${MY_STAGE.MY_TASK.output.SOMETHING} |
Indica a saída de uma tarefa em uma tarefa subsequente |
Para fazer referência à saída da tarefa 1 do pipeline na tarefa 2, use o seguinte formato:
taskOrder:
- task1
- task2
tasks:
task1:
type: REST
input:
action: get
url: https://www.example.org/api/status
task2:
type: REST
input:
action: post
url: https://status.internal.example.org/api/activity
payload: ${MY_STAGE.task1.output.responseBody}
|
var |
Variável: ${var.myVariable} |
Fazer referência à variável em um endpoint |
Para fazer referência a uma variável secreta em um endpoint para uma senha, use este formato:
---
project: MyProject
kind: ENDPOINT
name: MyJenkinsServer
type: jenkins
properties:
url: https://jenkins.example.com
username: jenkinsUser
password: ${var.jenkinsPassword}
|
var |
Variável: ${var.myVariable} |
Fazer referência à variável em um pipeline |
Para fazer referência à variável em um URL de pipeline, use este formato:
tasks:
task1:
type: REST
input:
action: get
url: ${var.MY_SERVER_URL}
|
status da tarefa |
Status de uma tarefa: ${MY_STAGE.MY_TASK.status} ${MY_STAGE.MY_TASK.statusMessage} |
|
|
status do estágio |
Status de um estágio: ${MY_STAGE.status} ${MY_STAGE.statusMessage} |
|
|
Expressões padrão
Você pode usar variáveis com expressões no seu pipeline. Esse resumo inclui as expressões padrão que você pode usar.
Expressão |
Descrição |
${comments} |
Comentários fornecidos quando na solicitação de execução do pipeline. |
${duration} |
Duração da execução do pipeline. |
${endTime} |
Hora de término da execução do pipeline em UTC, se concluída. |
${executedOn} |
O mesmo que a hora de início, a hora de início da execução do pipeline em UTC. |
${executionId} |
ID da execução do pipeline. |
${executionUrl} |
URL que navega até a execução do pipeline na interface do usuário. |
${name} |
Nome do pipeline. |
${requestBy} |
Nome do usuário que solicitou a execução. |
${stageName} |
Nome do estágio atual, quando usado no escopo de um estágio. |
${startTime} |
Hora de início da execução do pipeline em UTC. |
${status} |
Status da execução. |
${statusMessage} |
Mensagem de status da execução do pipeline. |
${taskName} |
Nome da tarefa atual, quando usada em uma entrada de tarefa ou notificação. |
Usando SCOPE e KEY em tarefas de pipeline
Você pode usar expressões com qualquer uma das tarefas de pipeline com suporte. Esses exemplos mostram como definir o SCOPE
e KEY
e confirmar a sintaxe. Os exemplos de códigos usam MY_STAGE
e MY_TASK
como nomes de estágios e tarefas de pipeline.
Para saber mais sobre tarefas disponíveis, consulte Que tipos de tarefas estão disponíveis no Code Stream.
Tabela 2.
Tarefas de isolamento
Tarefa |
Escopo |
Key |
Como usar SCOPE e KEY na tarefa |
Operação do Usuário |
|
Input |
summary : resumo da solicitação para Operação do Usuário description : descrição da solicitação de Operação do Usuário approvers : lista de endereços de e-mail de aprovadores, em que cada entrada pode ser uma variável com uma vírgula, ou use ponto-e-vírgula para separar e-mails approverGroups : lista de endereços de grupos de aprovadores para a plataforma e a identidade sendemail : envia opcionalmente uma notificação por e-mail após a solicitação ou resposta quando definido como "true" expirationInDays : número de dias que representa o tempo de expiração da solicitação |
${MY_STAGE.MY_TASK.input.summary} ${MY_STAGE.MY_TASK.input.description} ${MY_STAGE.MY_TASK.input.approvers} ${MY_STAGE.MY_TASK.input.approverGroups} ${MY_STAGE.MY_TASK.input.sendemail} ${MY_STAGE.MY_TASK.input.expirationInDays} |
|
Output |
index : string hexadecimal de seis dígitos que representa a solicitação respondedBy : nome da conta da pessoa que aprovou/rejeitou a Operação do Usuário respondedByEmail : endereço de e-mail da pessoa que respondeu comments : comentários fornecidos durante a resposta |
${MY_STAGE.MY_TASK.output.index} ${MY_STAGE.MY_TASK.output.respondedBy} ${MY_STAGE.MY_TASK.output.respondedByEmail} ${MY_STAGE.MY_TASK.output.comments} |
Condição |
|
|
Input |
condition : condição a ser avaliada. Quando a condição é avaliada como "true", a tarefa é marcada como concluída, enquanto outras respostas reprovam a tarefa |
${MY_STAGE.MY_TASK.input.condition} |
|
Output |
result : resultado após a avaliação |
${MY_STAGE.MY_TASK.output.response} |
Tabela 3.
Tarefas de pipeline
Tarefa |
Escopo |
Key |
Como usar SCOPE e KEY na tarefa |
Pipeline |
|
Input |
name : nome do pipeline a ser executado inputProperties : propriedades de entrada a serem transmitidas à execução de pipeline aninhada |
${MY_STAGE.MY_TASK.input.name} ${MY_STAGE.MY_TASK.input.inputProperties} # Referência a todas as propriedades ${MY_STAGE.MY_TASK.input.inputProperties.input1} # Referência ao valor de input1 |
|
Output |
executionStatus : status da execução do pipeline executionIndex : índice da execução do pipeline outputProperties : propriedades de saída de uma execução de pipeline |
${MY_STAGE.MY_TASK.output.executionStatus} ${MY_STAGE.MY_TASK.output.executionIndex} ${MY_STAGE.MY_TASK.output.outputProperties} # Referência a todas as propriedades ${MY_STAGE.MY_TASK.output.outputProperties.output1} # Referência ao valor de output1 |
Tabela 4.
Automatizar tarefas de integração contínua
Tarefa |
Escopo |
Key |
Como usar SCOPE e KEY na tarefa |
IC |
|
Input |
steps : um conjunto de cadeias de caracteres que representam comandos para execução export : variáveis de ambiente a serem preservadas após a execução das etapas artifacts : caminhos de artefatos a serem preservados no caminho compartilhado process : conjunto de elementos de configuração para processamento de JUnit, JaCoCo, Checkstyle, FindBugs |
${MY_STAGE.MY_TASK.input.steps} ${MY_STAGE.MY_TASK.input.export} ${MY_STAGE.MY_TASK.input.artifacts} ${MY_STAGE.MY_TASK.input.process} ${MY_STAGE.MY_TASK.input.process[0].path} # Referência ao caminho da primeira configuração |
|
Output |
exports : par de chave/valor, que representa as variáveis de ambiente exportadas da entrada export artifacts : caminho dos artefatos preservados com êxito processResponse : conjunto de resultados processados para a entrada process |
${MY_STAGE.MY_TASK.output.exports} # Referência a todas as exportações ${MY_STAGE.MY_TASK.output.exports.myvar} # Referência ao valor de myvar ${MY_STAGE.MY_TASK.output.artifacts} ${MY_STAGE.MY_TASK.output.processResponse} ${MY_STAGE.MY_TASK.output.processResponse[0].result} # Resultado da primeira configuração do processo |
Personalizado |
|
Input |
name : nome da integração personalizada version : uma versão da integração personalizada, liberada ou preterida properties : propriedades a serem enviadas à integração personalizada |
${MY_STAGE.MY_TASK.input.name} ${MY_STAGE.MY_TASK.input.version} ${MY_STAGE.MY_TASK.input.properties} # Referência a todas as propriedades ${MY_STAGE.MY_TASK.input.properties.property1} # Referência ao valor de property1 |
|
Output |
properties : propriedades de saída da resposta de integração personalizada |
${MY_STAGE.MY_TASK.output.properties} # Referência a todas as propriedades ${MY_STAGE.MY_TASK.output.properties.property1} # Referência ao valor de property1 |
Tabela 5.
Automatizar tarefas de implantação contínua: Modelo de nuvem
Tarefa |
Escopo |
Key |
Como usar SCOPE e KEY na tarefa |
Modelo de nuvem |
|
|
Input |
action : Uma das opções createDeployment, updateDeployment, deleteDeployment, rollbackDeployment blueprintInputParams : usado para as ações criar implantação e atualizar implantação allowDestroy : as máquinas podem ser destruídas no processo de implantação da atualização. CREATE_DEPLOYMENT
blueprintName : Nome do modelo de nuvem
blueprintVersion : versão do modelo de nuvem
OU
fileUrl : URL do modelo de nuvem remota YAML, após selecionar um servidor GIT.
UPDATE_DEPLOYMENT Qualquer uma destas combinações:
blueprintName : Nome do modelo de nuvem
blueprintVersion : versão do modelo de nuvem
OU
fileUrl : URL do modelo de nuvem remota YAML, após selecionar um servidor GIT.
------
deploymentId : ID da implantação
OU
deploymentName : nome da implantação
------ DELETE_DEPLOYMENT
deploymentId : ID da implantação
OU
deploymentName : nome da implantação
ROLLBACK_DEPLOYMENT Qualquer uma destas combinações:
deploymentId : ID da implantação
OU
deploymentName : nome da implantação
------
blueprintName : Nome do modelo de nuvem
rollbackVersion : versão para a qual reverter
|
|
|
Output |
|
Parâmetros que podem se associar a outras tarefas ou à saída de um pipeline:
- O nome da implantação pode ser acessado como ${Stage0.Task0.output.deploymentName}
- O Id de implantação pode ser acessado como ${Stage0.Task0.output.deploymentId}
- Detalhes de Implantação são um objeto complexo, e detalhes internos podem ser acessados usando os resultados do JSON.
Para acessar qualquer propriedade, use o operador de ponto para seguir a hierarquia JSON. Por exemplo, para acessar o endereço do recurso Cloud_Machine_1 [0], a associação $ é: ${Stage0.Task0.output.deploymentDetails.resources['Cloud_Machine_1[0]'].address} Da mesma forma, para o tipo, a associação $ é: ${Stage0.Task0.output.deploymentDetails.resources['Cloud_Machine_1[0]'].flavor} Na interface do usuário do Code Stream, você pode obter as associações $ para qualquer propriedade.
- Na área de propriedade de saída da tarefa, clique em EXIBIR JSON DE SAÍDA.
- Para encontrar a associação $, insira qualquer propriedade.
- Clique no ícone de pesquisa, que exibe a associação $ correspondente.
|
Exemplo de saída JSON:
Amostra de objeto de detalhes de implantação:
{
"id": "6a031f92-d0fa-42c8-bc9e-3b260ee2f65b",
"name": "deployment_6a031f92-d0fa-42c8-bc9e-3b260ee2f65b",
"description": "Pipeline Service triggered operation",
"orgId": "434f6917-4e34-4537-b6c0-3bf3638a71bc",
"blueprintId": "8d1dd801-3a32-4f3b-adde-27f8163dfe6f",
"blueprintVersion": "1",
"createdAt": "2020-08-27T13:50:24.546215Z",
"createdBy": "[email protected]",
"lastUpdatedAt": "2020-08-27T13:52:50.674957Z",
"lastUpdatedBy": "[email protected]",
"inputs": {},
"simulated": false,
"projectId": "267f8448-d26f-4b65-b310-9212adb3c455",
"resources": {
"Cloud_Machine_1[0]": {
"id": "/resources/compute/1606fbcd-40e5-4edc-ab85-7b559aa986ad",
"name": "Cloud_Machine_1[0]",
"powerState": "ON",
"address": "10.108.79.33",
"resourceLink": "/resources/compute/1606fbcd-40e5-4edc-ab85-7b559aa986ad",
"componentTypeId": "Cloud.vSphere.Machine",
"endpointType": "vsphere",
"resourceName": "Cloud_Machine_1-mcm110615-146929827053",
"resourceId": "1606fbcd-40e5-4edc-ab85-7b559aa986ad",
"resourceDescLink": "/resources/compute-descriptions/1952d1d3-15f0-4574-ae42-4fbf8a87d4cc",
"zone": "Automation / Vms",
"countIndex": "0",
"image": "ubuntu",
"count": "1",
"flavor": "small",
"region": "MYBU",
"_clusterAllocationSize": "1",
"osType": "LINUX",
"componentType": "Cloud.vSphere.Machine",
"account": "bha"
}
},
"status": "CREATE_SUCCESSFUL",
"deploymentURI": "https://api.yourenv.com/automation-ui/#/deployment-ui;ash=/deployment/6a031f92-d0fa-42c8-bc9e-3b260ee2f65b"
}
Tabela 6.
Automatizar tarefas de implantação contínua: Kubernetes
Tarefa |
Escopo |
Key |
Como usar SCOPE e KEY na tarefa |
Kubernetes |
|
Input |
action : uma das opções GET, CREATE, APPLY, DELETE, ROLLBACK
timeout : tempo limite geral para qualquer ação
filterByLabel : rótulo adicional para filtragem da ação GET usando K8S labelSelector
GET, CREATE, DELETE, APPLY
yaml : YAML inline para processar e enviar ao Kubernetes
parameters : par de CHAVE, VALOR - Substitua $$KEY por VALOR na área de entrada do YAML inline
filePath : caminho relativo do endpoint SCM Git, se fornecido, a partir do qual obter o YAML
scmConstants : par de CHAVE, VALOR - Substitua $${KEY} por VALOR no YAML obtido no SCM.
continueOnConflict : quando definido como verdadeiro, se um recurso já estiver presente, a tarefa continuará.
ROLLBACK
resourceType : tipo de recurso para reverter
resourceName : nome do recurso para reverter
namespace : namespace no qual a reversão deve ser realizada
revision : revisão para a qual reverter
|
${MY_STAGE.MY_TASK.input.action} # Determina a ação a ser executada. ${MY_STAGE.MY_TASK.input.timeout} ${MY_STAGE.MY_TASK.input.filterByLabel} ${MY_STAGE.MY_TASK.input.yaml} ${MY_STAGE.MY_TASK.input.parameters} ${MY_STAGE.MY_TASK.input.filePath} ${MY_STAGE.MY_TASK.input.scmConstants} ${MY_STAGE.MY_TASK.input.continueOnConflict} ${MY_STAGE.MY_TASK.input.resourceType} ${MY_STAGE.MY_TASK.input.resourceName} ${MY_STAGE.MY_TASK.input.namespace} ${MY_STAGE.MY_TASK.input.revision} |
|
Output |
response : captura toda a resposta response.<RESOURCE> : o recurso corresponde a configMaps, implantações, endpoints, entradas, trabalhos, namespaces, pods, replicaSets, replicationControllers, segredos, serviços, statefulSets, nós, loadBalancers. response.<RESOURCE>.<KEY> : a chave corresponde a um de apiVersion, tipo, metadados, especificação |
${MY_STAGE.MY_TASK.output.response} ${MY_STAGE.MY_TASK.output.response.} |
Tabela 7.
Integre aplicativos de desenvolvimento, teste e implantação
Tarefa |
Escopo |
Key |
Como usar SCOPE e KEY na tarefa |
Bamboo |
|
Input |
plan : nome do plano planKey : chave do plano variables : variáveis a serem transmitidas ao plano parameters : parâmetros a serem transmitidos ao plano |
${MY_STAGE.MY_TASK.input.plan} ${MY_STAGE.MY_TASK.input.planKey} ${MY_STAGE.MY_TASK.input.variables} ${MY_STAGE.MY_TASK.input.parameters} # Referência a todos os parâmetros ${MY_STAGE.MY_TASK.input.parameters.param1} # Referência ao valor de param1 |
|
Output |
resultUrl : a URL da compilação resultante buildResultKey : a chave da compilação resultante buildNumber : número da compilação buildTestSummary : resumo da execução dos testes successfulTestCount : resultado do teste aprovado failedTestCount : resultado do teste reprovado skippedTestCount : resultado de teste ignorado artifacts : artefatos da compilação |
${MY_STAGE.MY_TASK.output.resultUrl} ${MY_STAGE.MY_TASK.output.buildResultKey} ${MY_STAGE.MY_TASK.output.buildNumber} ${MY_STAGE.MY_TASK.output.buildTestSummary} # Referência a todos os resultados ${MY_STAGE.MY_TASK.output.successfulTestCount} # Referência à contagem de testes específica ${MY_STAGE.MY_TASK.output.buildNumber} |
Jenkins |
|
Input |
job : nome do trabalho do Jenkins parameters : parâmetros a serem transmitidos ao trabalho |
${MY_STAGE.MY_TASK.input.job} ${MY_STAGE.MY_TASK.input.parameters} # Referência a todos os parâmetros ${MY_STAGE.MY_TASK.input.parameters.param1} # Referência ao valor de um parâmetro |
|
Output |
job : nome do trabalho do Jenkins jobId : ID do trabalho resultante, como 1234 jobStatus : status no Jenkins jobResults : coleção de resultados de cobertura de teste/código jobUrl : URL da execução do trabalho resultante |
${MY_STAGE.MY_TASK.output.job} ${MY_STAGE.MY_TASK.output.jobId} ${MY_STAGE.MY_TASK.output.jobStatus} ${MY_STAGE.MY_TASK.output.jobResults} # Referência a todos os resultados ${MY_STAGE.MY_TASK.output.jobResults.junitResponse} # Referência aos resultados do JUnit ${MY_STAGE.MY_TASK.output.jobResults.jacocoRespose} # Referência aos resultados do JaCoCo ${MY_STAGE.MY_TASK.output.jobUrl} |
TFS |
|
Input |
projectCollection : coleção de projetos do TFS teamProject : projeto selecionado da coleção disponível buildDefinitionId : ID de Definição da Compilação a ser executado |
${MY_STAGE.MY_TASK.input.projectCollection } ${MY_STAGE.MY_TASK.input.teamProject} ${MY_STAGE.MY_TASK.input.buildDefinitionId} |
|
Output |
buildId : ID da compilação resultante buildUrl : URL para visitar o resumo da compilação logUrl : URL para visitar logs dropLocation : local de destino dos artefatos, se houver |
${MY_STAGE.MY_TASK.output.buildId} ${MY_STAGE.MY_TASK.output.buildUrl} ${MY_STAGE.MY_TASK.output.logUrl} ${MY_STAGE.MY_TASK.output.dropLocation} |
vRO |
|
Input |
workflowId : ID do fluxo de trabalho a ser executado parameters : parâmetros a serem transmitidos ao fluxo de trabalho |
${MY_STAGE.MY_TASK.input.workflowId} ${MY_STAGE.MY_TASK.input.parameters} |
|
Output |
workflowExecutionId : ID da execução do fluxo de trabalho properties : propriedades de saída da execução do fluxo de trabalho |
${MY_STAGE.MY_TASK.output.workflowExecutionId} ${MY_STAGE.MY_TASK.output.properties} |
Tabela 8.
Integre outros aplicativos por meio de uma API
Tarefa |
Escopo |
Key |
Como usar SCOPE e KEY na tarefa |
REST |
|
Input |
url : URL para chamar action : método HTTP a ser usado headers : cabeçalhos HTTP a serem aprovados payload : carga útil da solicitação fingerprint : impressão digital a ser correspondida para a uma URL que é https allowAllCerts : quando definido como "true", pode ser qualquer certificado que tenha uma URL https |
${MY_STAGE.MY_TASK.input.url} ${MY_STAGE.MY_TASK.input.action} ${MY_STAGE.MY_TASK.input.headers} ${MY_STAGE.MY_TASK.input.payload} ${MY_STAGE.MY_TASK.input.fingerprint} ${MY_STAGE.MY_TASK.input.allowAllCerts} |
|
Output |
responseCode : código da resposta HTTP responseHeaders : cabeçalhos da resposta HTTP responseBody : formato de cadeia de caracteres da resposta recebida responseJson : resposta de passagem se o tipo de conteúdo for application/json |
${MY_STAGE.MY_TASK.output.responseCode} ${MY_STAGE.MY_TASK.output.responseHeaders} ${MY_STAGE.MY_TASK.output.responseHeaders.header1} # Referência ao cabeçalho de resposta "header1" ${MY_STAGE.MY_TASK.output.responseBody} ${MY_STAGE.MY_TASK.output.responseJson} # Referência à resposta como JSON ${MY_STAGE.MY_TASK.output.responseJson.a.b.c} # Referência a um objeto aninhado após o caminho JSON a.b.c na resposta |
Sondagem |
|
Input |
url : URL para chamar headers : cabeçalhos HTTP a serem aprovados exitCriteria : critérios a serem atendidos para que a tarefa seja bem-sucedida ou falhe. Um par de chave/valor de "success" → Expressão "failure" → Expressão pollCount : número de iterações a serem executadas. Um administrador do Code Stream pode definir a contagem de sondagens como um máximo de 10.000. pollIntervalSeconds : número de segundos para aguardar entre cada iteração. O intervalo de sondagem deve ser maior que ou igual a 60 segundos. ignoreFailure : quando definido como "true", ignora as falhas de resposta intermediárias fingerprint : impressão digital a ser correspondida para a uma URL que é https allowAllCerts : quando definido como "true", pode ser qualquer certificado que tenha uma URL https |
${MY_STAGE.MY_TASK.input.url} ${MY_STAGE.MY_TASK.input.headers} ${MY_STAGE.MY_TASK.input.exitCriteria} ${MY_STAGE.MY_TASK.input.pollCount} ${MY_STAGE.MY_TASK.input.pollIntervalSeconds} ${MY_STAGE.MY_TASK.input.ignoreFailure} ${MY_STAGE.MY_TASK.input.fingerprint} ${MY_STAGE.MY_TASK.input.allowAllCerts} |
|
Output |
responseCode : código da resposta HTTP responseBody : formato de cadeia de caracteres da resposta recebida responseJson : resposta de passagem se o tipo de conteúdo for application/json |
${MY_STAGE.MY_TASK.output.responseCode} ${MY_STAGE.MY_TASK.output.responseBody} ${MY_STAGE.MY_TASK.output.responseJson} # Refer to response as JSON |
Tabela 9.
Execute scripts remotos e definidos pelo usuário
Tarefa |
Escopo |
Key |
Como usar SCOPE e KEY na tarefa |
PowerShell Para executar uma tarefa do PowerShell, você deve:
|
|
Entrada |
host : endereço IP ou nome do host da máquina username : nome de usuário a ser usado para conexão password : senha a ser usada para conexão useTLS : tentar conexão https trustCert : quando definido como "true", confia em certificados autoassinados script : script a ser executado workingDirectory : caminho do diretório para o qual alternar antes de executar o script environmentVariables : um par de chave/valor de variável de ambiente a ser definido arguments : argumentos a serem transmitidos ao script |
${MY_STAGE.MY_TASK.input.host} ${MY_STAGE.MY_TASK.input.username} ${MY_STAGE.MY_TASK.input.password} ${MY_STAGE.MY_TASK.input.useTLS} ${MY_STAGE.MY_TASK.input.trustCert} ${MY_STAGE.MY_TASK.input.script} ${MY_STAGE.MY_TASK.input.workingDirectory} ${MY_STAGE.MY_TASK.input.environmentVariables} ${MY_STAGE.MY_TASK.input.arguments} |
|
Saída |
response : conteúdo do arquivo $SCRIPT_RESPONSE_FILE responseFilePath : valor de $SCRIPT_RESPONSE_FILE exitCode : código de saída do processo logFilePath : caminho para o arquivo contendo stdout errorFilePath : caminho para o arquivo contendo stderr |
${MY_STAGE.MY_TASK.output.response} ${MY_STAGE.MY_TASK.output.responseFilePath} ${MY_STAGE.MY_TASK.output.exitCode} ${MY_STAGE.MY_TASK.output.logFilePath} ${MY_STAGE.MY_TASK.output.errorFilePath} |
SSH |
|
Input |
host : endereço IP ou nome do host da máquina username : nome de usuário a ser usado para conexão password : senha a ser usada para conexão (opcionalmente, é possível usar privateKey) privateKey : chave privada a ser usada para conexão passphrase : senha opcional para desbloquear privateKey script : script a ser executado workingDirectory : caminho do diretório para o qual alternar antes de executar o script environmentVariables : par de chave/valor da variável de ambiente a ser definida |
${MY_STAGE.MY_TASK.input.host} ${MY_STAGE.MY_TASK.input.username} ${MY_STAGE.MY_TASK.input.password} ${MY_STAGE.MY_TASK.input.privateKey} ${MY_STAGE.MY_TASK.input.passphrase} ${MY_STAGE.MY_TASK.input.script} ${MY_STAGE.MY_TASK.input.workingDirectory} ${MY_STAGE.MY_TASK.input.environmentVariables} |
|
Output |
response : conteúdo do arquivo $SCRIPT_RESPONSE_FILE responseFilePath : valor de $SCRIPT_RESPONSE_FILE exitCode : código de saída do processo logFilePath : caminho para o arquivo contendo stdout errorFilePath : caminho para o arquivo contendo stderr |
${MY_STAGE.MY_TASK.output.response} ${MY_STAGE.MY_TASK.output.responseFilePath} ${MY_STAGE.MY_TASK.output.exitCode} ${MY_STAGE.MY_TASK.output.logFilePath} ${MY_STAGE.MY_TASK.output.errorFilePath} |
Como usar uma associação de variáveis entre tarefas
Este exemplo mostra como usar associações de variáveis nas suas tarefas de pipeline.
Tabela 10.
Exemplos de formatos de sintaxe
Exemplo |
Sintaxe |
Para usar um valor de saída de tarefa para notificações de pipeline e propriedades de saída de pipeline |
${<Stage Key>.<Task Key>.output.<Task output key>} |
Para fazer referência ao valor de saída da tarefa anterior como entrada para a tarefa atual |
${<Previous/Current Stage key>.<Previous task key not in current Task group>.output.<task output key>} |
Para saber mais
Para saber mais sobre variáveis de associação em tarefas, consulte: