Como administrador ou desenvolvedor de DevOps, é possível criar scripts personalizados que estendem o recurso do Automation Pipelines.
Com o script, é possível integrar o Automation Pipelines às suas próprias ferramentas de integração contínua (IC) e entrega contínua (EC) e APIs que compilam, testam e implantam os aplicativos. Os scripts personalizados são especialmente úteis se as APIs do aplicativo não forem expostas publicamente.
O script personalizado pode fazer quase tudo o que é necessário para que as ferramentas de compilação, teste e implantação sejam integradas ao Automation Pipelines. Por exemplo, ele pode trabalhar com o espaço de trabalho do pipeline para permitir tarefas de integração contínua que compilam e testam o aplicativo e tarefas de entrega contínua que implantam o aplicativo. Ele pode enviar uma mensagem para o Slack quando um pipeline é concluído e muito mais.
O espaço de trabalho do pipeline do Automation Pipelines é compatível com o Docker e o Kubernetes para tarefas de integração contínua e personalizadas.
Para obter mais informações sobre a configuração do espaço de trabalho, consulte Como configurar o espaço de trabalho do pipeline.
Escreva o script personalizado em um dos idiomas compatíveis. No script, inclua a lógica de negócios e defina entradas e saídas. Os tipos de saída podem incluir número, cadeia de caracteres, texto e senha. Você pode criar várias versões de um script personalizado com diferentes lógicas de negócios, entradas e saídas.
Os scripts criados residem na instância do Automation Pipelines. Você pode importar o código YAML para criar uma integração personalizada ou exportar seu script como um arquivo YAML a ser usado em outra instância do Automation Pipelines.
Você instrui o pipeline a executar uma versão lançada do seu script em uma tarefa personalizada. Se você tiver várias versões laçadas, poderá definir uma delas como a mais recente, para que ela apareça com latest --> quando a tarefa personalizada for selecionada.
Quando um pipeline usar uma integração personalizada, se você tentar excluir a integração personalizada, uma mensagem de erro será exibida e indicará que não é possível excluí-la.
A exclusão de uma integração personalizada remove todas as versões do seu script personalizado. Se você tiver um pipeline existente com uma tarefa personalizada que usa qualquer versão do script, esse pipeline falhará. Para garantir que os pipelines existentes não falhem, você poderá reprovar e retirar a versão do script que não deseja mais usar. Se nenhum pipeline estiver usando essa versão, você poderá excluí-la.
O que fazer... | Mais informações sobre esta ação... |
---|---|
Adicione uma tarefa personalizada ao pipeline. |
A tarefa personalizada:
|
Selecione o script na tarefa personalizada. |
Declare as propriedades de entrada e saída no script. |
Salve seu pipeline e, em seguida, ative-o e execute-o. |
Quando o pipeline for executado, a tarefa personalizada chamará a versão do script especificada e executará a lógica de negócios nele, que integra sua ferramenta de compilação, teste e implantação ao Automation Pipelines. |
Após a execução do pipeline, observe as execuções. |
Verifique se o pipeline gerou os resultados esperados. |
Quando você usa uma tarefa personalizada que chama uma versão de integração personalizada, é possível incluir variáveis de ambiente personalizadas como pares de nome/valor na guia Espaço de Trabalho do pipeline. Quando a imagem do construtor cria o contêiner de espaço de trabalho que executa a tarefa de CI e implanta a sua imagem, o Automation Pipelines transmite as variáveis de ambiente para esse contêiner.
Por exemplo, quando a sua instância do Automation Pipelines requer um proxy Web e você usa um host do Docker para criar um contêiner para uma integração personalizada, o Automation Pipelines executa o pipeline e transmite as variáveis de configuração do proxy Web para esse contêiner.
Nome | Valor |
---|---|
HTTPS_PROXY | http://10.0.0.255:1234 |
https_proxy | http://10.0.0.255:1234 |
NO_PROXY | 10.0.0.32, *.dept.vsphere.local |
no_proxy | 10.0.0.32, *.dept.vsphere.local |
HTTP_PROXY | http://10.0.0.254:1234 |
http_proxy | http://10.0.0.254:1234 |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
Os pares de nome/valor aparecem na interface do usuário da seguinte maneira:
Este exemplo cria uma integração personalizada que conecta o Automation Pipelines à instância do Slack e publica uma mensagem em um canal do Slack.
Pré-requisitos
- Para escrever seu script personalizado, verifique se você tem uma destas linguagens: Python 2, Python 3, Node.js ou qualquer uma das linguagens de shell: Bash, sh ou zsh.
- Gere uma imagem de contêiner usando o Node.js instalado ou o tempo de execução do Python.
Procedimento
Resultados
Parabéns! Você criou um script de integração personalizado que conecta o Automation Pipelines à instância de Slack e publica uma mensagem em um canal de Slack.
O que Fazer Depois
Continue a criar integrações personalizadas para oferecer suporte ao uso de tarefas personalizadas nos pipelines, para poder ampliar o recurso do Automation Pipelines na automação do ciclo de liberação do software.