Ao configurar o pipeline, você adiciona tipos específicos de tarefas que o pipeline executa para as ações necessárias. Cada tipo de tarefa integra-se a outro aplicativo e ativa seu pipeline à medida que ele cria, testa e entrega seus aplicativos.

Para executar seu pipeline, se você deve puxar artefatos de um repositório para a implantação, executar um script remoto ou exigir a aprovação de um membro da equipe em uma operação do usuário, o Code Stream tem o tipo de tarefa ideal para você.

O Code Stream permite o cancelamento de uma execução de pipeline em vários tipos de tarefas. Quando você clica em Cancelar em uma execução de pipeline, a tarefa, o estágio ou o pipeline inteiro entram no estado de cancelamento e cancela a execução do pipeline.

O Code Stream permite que você cancele a execução do pipeline em uma tarefa, um estágio ou em todo o pipeline ao usar estas tarefas:
  • Jenkins
  • SSH
  • PowerShell
  • Operação do Usuário
  • Pipeline
  • Modelo de nuvem
  • vRO
  • PESQUISA

O Code Stream não propaga o comportamento de cancelamento a sistemas de terceiros para estas tarefas: CI, Integração Personalizada ou Kubernetes. O Code Stream marca a tarefa como cancelada e interrompe imediatamente a busca do status sem esperar que a tarefa seja concluída. A tarefa pode ser concluída ou falhar no sistema de terceiros, mas será interrompida imediatamente no Code Stream quando você clicar em Cancelar.

Antes de usar uma tarefa no seu pipeline, verifique se o endpoint correspondente está disponível.

Tabela 1. Obtenha uma aprovação ou defina um ponto de decisão
Tipo de tarefa O que ele faz Exemplos e detalhes
Operação do Usuário

Uma tarefa de Operação do Usuário permite uma aprovação necessária que controla quando um pipeline é executado e deve parar para uma aprovação.

Consulte Como executar um pipeline e ver os resultados. e Como gerenciar o acesso do usuário e as aprovações no Code Stream.

Condição

Adiciona um ponto de decisão, que determina se o pipeline deve continuar a ser executado ou para, com base nas expressões de condição. Quando a condição for verdadeira, o pipeline executará tarefas sucessivas. Quando for falso, o pipeline para.

Consulte Como usar associações de variáveis em uma tarefa de condição para executar ou parar um pipeline no Code Stream.

Tabela 2. Automatize a integração contínua e a implantação
Tipo de tarefa O que ele faz Exemplos e detalhes
Modelo de nuvem

Implanta um modelo de nuvem de automação a partir do GitHub e provisiona um aplicativo, automatiza a integração contínua e entrega contínua (CICD) desse modelo de nuvem para sua implantação.

Consulte Como automatizar a liberação de um aplicativo implantado a partir de um modelo de nuvem YAML no Code Stream.

Os parâmetros do modelo de nuvem aparecem depois que você seleciona Criar ou Atualizar pela primeira vez e depois seleciona Modelo de Nuvem e Versão. Você pode adicionar estes elementos, que acomodam associações de variáveis, às áreas de texto de entrada na tarefa de modelo de nuvem:

  • Inteiro
  • Cadeia de caracteres de enumeração
  • Boolean
  • Variável de matriz

Ao usar associação de variáveis na entrada, esteja ciente dessas exceções. Para enumerações, você deve selecionar um valor de enumeração de um conjunto fixo. Para Valores boolean, você deve inserir o valor na área de texto de entrada.

O parâmetro de modelo de nuvem aparece na tarefa de modelo de nuvem quando um modelo de nuvem no Cloud Assembly inclui variáveis de entrada. Por exemplo, se um modelo de nuvem tiver um tipo de entrada de Integer, você poderá inserir o número inteiro diretamente ou como uma variável usando a associação de variáveis.

IC

A tarefa de CI permite a integração contínua do seu código no pipeline, extraindo uma imagem de compilação do Docker de um endpoint de registro e implantando-a em um cluster Kubernetes.

A tarefa de CI exibe 100 linhas do log como saída e exibe 500 linhas quando você baixa os logs.

As tarefas de CI exigem portas efêmeras de 32768 a 61000.

Consulte Como planejar uma compilação nativa de CICD no Code Stream antes de usar o modelo de pipeline inteligente.

Personalizado

A tarefa Personalizada integra o Code Stream com as suas próprias ferramentas de compilação, teste e implantação.

Consulte Como integrar minhas próprias ferramentas de compilação, teste e implantação com o Code Stream.

Kubernetes

Automatize a implantação de seus aplicativos de software para clusters do Kubernetes.

Consulte Como automatizar a liberação de um aplicativo no Code Stream para um cluster do Kubernetes.

Pipeline

Aninha um pipeline em um pipeline principal. Quando um pipeline é aninhado, ele se comporta como uma tarefa no pipeline principal.

Na guia Tarefa do pipeline principal, é possível navegar facilmente até o pipeline aninhado clicando no link dele. O pipeline aninhado é aberto em uma nova guia do navegador.

Para encontrar pipelines aninhados em Execuções, digite nested na área de pesquisa.

Tabela 3. Integre aplicativos de desenvolvimento, teste e implantação
Tipo de tarefa... O que ele faz... Exemplos e detalhes...
Bamboo

Interage com um servidor de integração contínua (CI) Bamboo, que continuamente compila, testa e integra o software na preparação para implantação, além de gerar códigos de disparo quando os desenvolvedores confirmam as alterações. Ele expõe os locais de artefato que a compilação de Bamboo produz para que a tarefa possa produzir os parâmetros de outras tarefas a serem usados para compilação e implantação.

Conecte-se a um endpoint do servidor Bamboo e inicie um plano de compilação de Bamboo a partir de seu pipeline.

Jenkins

Dispara os trabalhos do Jenkins que compilam e testam o código-fonte, executa casos de teste e pode usar scripts personalizados.

Consulte Como integrar o Code Stream ao Jenkins.

TFS

Permite que você conecte seu pipeline ao Team Foundation Server para gerenciar e invocar projetos de compilação, incluindo trabalhos configurados que compilam e testam seu código.

Para versões do Team Foundation Server compatíveis com o Code Stream, consulte O que são endpoints no Code Stream.

vRO

Estende o recurso do Code Stream executando fluxos de trabalho predefinidos ou personalizados no vRealize Orchestrator.

O Code Stream oferece suporte para autenticação básica e autenticação baseada em token para o vRealize Orchestrator. O Code Stream usa o token de API para autenticar e validar o cluster do vRealize Orchestrator. Com a autenticação baseada em token, o Code Stream oferece suporte a endpoints do vRealize Orchestrator que usam um Proxy de Extensibilidade de Nuvem. Como resultado, no Code Stream, você pode disparar fluxos de trabalho com um endpoint do vRealize Orchestrator que usa o Proxy de Extensibilidade de Nuvem.

Consulte Como integrar o Code Stream ao vRealize Orchestrator.

Tabela 4. Integre outros aplicativos por meio de uma API
Tipo de tarefa... O que ele faz... Exemplos e detalhes...
REST

Integra o Code Stream a outros aplicativos que usam uma REST API para que você possa desenvolver e entregar continuamente os aplicativos de software que interagem entre si.

Consulte Como usar uma REST API para integrar o Code Stream a outros aplicativos.

Sondagem

Invoca uma REST API e a sonda até que a tarefa do pipeline atenda aos critérios de saída e seja concluída.

Um administrador do Code Stream pode definir a contagem de sondagens como um máximo de 10.000. O intervalo de sondagem deve ser maior que ou igual a 60 segundos.

Quando você marca a caixa de seleção Continuar em caso de falha, se a contagem ou o intervalo exceder esses valores, a tarefa de sondagem continuará a ser executada.

POLL Iteration Count: aparece na execução do pipeline e exibe quantas vezes a tarefa POLL solicitou uma resposta da URL. Por exemplo, se a entrada POLL for 65, e 4 for o número de vezes reais que a solicitação POLL foi executada, a contagem de iterações na saída de execução do pipeline exibirá 4 (de 65).

Consulte Como usar uma REST API para integrar o Code Stream a outros aplicativos.

Tabela 5. Execute scripts remotos e definidos pelo usuário
Tipo de tarefa O que ele faz Exemplos e detalhes
PowerShell

Com a tarefa do PowerShell, o Code Streampode executar comandos de script em um host remoto. Por exemplo, um script pode automatizar tarefas de teste e executar tipos administrativos de comandos.

O script pode ser remoto ou definido pelo usuário. Ela pode se conectar via HTTP ou HTTPS e pode usar TLS.

O host do Windows deve ter o serviço winrm configurado e winrm deve ter MaxShellsPerUser e MaxMemoryPerShellMB configurados.

Para executar uma tarefa do PowerShell, é necessário ter uma sessão ativa para o host Remoto do Windows.

Comprimento da linha de comando do PowerShell

Se você inserir um comando base64 do PowerShell, deverá calcular o comprimento geral desse comando.

O pipeline do Code Stream codifica e agrupa um comando base64 do PowerShell em outro comando, o que aumenta o comprimento geral do comando.

O comprimento máximo permitido para um comando winrm do PowerShell é 8192 bytes. O limite de comprimento do comando é menor para a tarefa do PowerShell quando ela é codificada e agrupada. Como resultado, você deve calcular o comprimento do comando antes de inserir o comando do PowerShell.

O limite de comprimento do comando para a tarefa Code Stream do PowerShell depende do comprimento codificado em base64 do comando original. O comprimento do comando é calculado da seguinte forma.

3 * (length of original command / 4)) - (numberOfPaddingCharacters) + 77 (Length of Write-output command)

O comprimento do comando para Code Stream deve ser menor que o limite máximo de 8192.

Quando você configura MaxShellsPerUser e MaxMemoryPerShellMB:

  • O valor aceitável para MaxShellsPerUser é 500 para 50 pipelines simultâneos, com 5 tarefas de PowerShell para cada pipeline. Para definir o valor, execute: winrm set winrm/config/winrs '@{MaxShellsPerUser="500"}'
  • O valor de memória aceitável para MaxMemoryPerShellMB é 2048. Para definir o valor, execute: winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="2048"}'

O script escreve a saída em um arquivo de resposta que outro pipeline pode consumir.

SSH

A tarefa de SSH permite que a tarefa de script do shell Bash execute comandos de script em um host remoto. Por exemplo, um script pode automatizar tarefas de teste e executar tipos administrativos de comandos.

O script pode ser remoto ou definido pelo usuário. Ela pode se conectar por HTTP ou HTTPS e requer uma chave privada ou senha.

O serviço SSH deve ser configurado no host do Linux, e a configuração de SSHD de MaxSessions deve ser definida para 50.

Se você executar várias tarefas de SSH simultaneamente, aumente MaxSessions e MaxOpenSessions no host SSH. Não use sua instância vRealize Automation como o host SSH se precisar modificar as definições de configuração MaxSessions e MaxOpenSessions.

A tarefa do SSH não oferece suporte a chaves privadas do tipo OpenSSH. Gere o par de chaves pública/privada usando um dos seguintes métodos:
  • Em uma máquina do Windows, use PuTTYgen para gerar o par de chaves.
  • Em um máquina do Mac ou Linux, use ssh -V para verificar se a versão do SSH é anterior à 7.8 e, em seguida, use ssh -keygen para gerar o par de chaves em uma janela de terminal.
Observação: Verifique se a chave gerada não aparece com BEGIN OPENSSH PRIVATE KEY.
Se a chave pública gerada for uma chave autorizada na máquina remota, consulte um dos seguintes artigos para alterar o formato privado do OpenSSH:

Ao configurar a tarefa SSH, a chave privada deve ser inserida em texto sem formatação. Salvar a chave como uma variável ou entrada altera o formato da chave, e a tarefa de pipeline não será executada.

O script pode ser remoto ou definido pelo usuário. Por exemplo, um script pode ser semelhante a:

message="Hello World" echo $message

O script escreve a saída em um arquivo de resposta que outro pipeline pode consumir.