Como automatizar a liberação de um aplicativo implantado a partir de um modelo de nuvem YAML no
Automation Pipelines

Como desenvolvedor, você precisa de um pipeline que obtenha um modelo de nuvem de automação de uma instância do GitHub local todas as vezes que uma alteração é confirmada. Você precisa do pipeline para implantar um aplicativo WordPress no
Amazon Web Services
(AWS) EC2 ou em um centro de dados. O
Automation Pipelines
chama o modelo de nuvem do pipeline e automatiza a integração contínua e a entrega contínua (CICD) desse modelo de nuvem para implantar seu aplicativo.
  • Adicione o código YAML para o aplicativo WordPress à instância do GitHub.
  • Adicione um webhook para o gatilho do Git para que o pipeline possa extrair o código YAML sempre que você confirmar alterações nele. No
    Automation Pipelines
    , clique em
    Gatilhos
    Git
    Webhooks para Git
    .
  • Para trabalhar com uma tarefa de modelo de nuvem, você deve ter qualquer uma das funções do
    Automation Assembler
    .
Para criar e disparar seu pipeline, você precisará de um modelo de nuvem no
Automation Assembler
.
Para
Origem do modelo
na tarefa de modelo de nuvem do
Automation Pipelines
, é possível selecionar:
  • Automation Assembler
    como o controle de origem. Nesse caso, não é necessário um repositório GitLab ou GitHub.
  • Controle de Origem
    se você usar o GitLab ou o GitHub para controle de origem. Nesse caso, é necessário ter um webhook do Git e disparar o pipeline por meio desse webhook.
Se você tiver um modelo de nuvem YAML no repositório do GitHub e quiser usar esse modelo de nuvem no pipeline, será necessário fazer o seguinte:
  1. No
    Automation Assembler
    , envie o modelo de nuvem ao seu repositório do GitHub.
  2. No
    Automation Pipelines
    , crie um endpoint do Git. Em seguida, crie um webhook do Git que use seu endpoint do Git e seu pipeline.
  3. Para disparar o pipeline, atualize qualquer arquivo no repositório do GitHub e confirme a alteração.
Se você não tiver um modelo de nuvem do YAML no repositório do GitHub e quiser usar um modelo de nuvem do controle de origem, siga este procedimento para saber como. Ele mostra como criar um modelo de nuvem para um aplicativo WordPress e dispará-lo a partir de um repositório do GitHub local. Sempre que você fizer uma alteração no modelo de nuvem do YAML, o pipeline será disparado e automatizará a liberação do seu aplicativo.
  • No
    Automation Assembler
    , você adicionará uma conta de nuvem, adicionará uma zona de nuvem e criará o modelo de nuvem.
  • No
    Automation Pipelines
    , você adicionará um endpoint para o repositório do GitHub local que hospeda seu modelo de nuvem. Em seguida, adicionará esse modelo de nuvem ao pipeline.
Este exemplo de caso de uso mostra como usar um modelo de nuvem a partir de um repositório do GitHub local.
O fluxo de trabalho ajuda você a navegar pelo processo que automatiza a liberação de um aplicativo que você implanta a partir de um modelo de nuvem YAML.
  1. No
    Automation Assembler
    , siga estas etapas.
    1. Clique em
      Modelos
      , em seguida, crie um modelo de nuvem e uma implantação para o aplicativo WordPress.
    2. Cole o código YAML do WordPress copiado para a área de transferência no modelo de nuvem e implante-o.
      Usando o código YAML, o modelo de nuvem cria a camada de banco de dados, a camada da Web e a rede na sua implantação.
  2. No
    Automation Pipelines
    , crie endpoints.
    1. Crie um endpoint do Git para o repositório GitHub local no qual o arquivo YAML reside.
    2. Adicione um endpoint de e-mail que possa notificar os usuários sobre o status do pipeline quando ele é executado.
      Ao adicionar um endpoint de E-mail, você define o método de criptografia e o protocolo de saída.
  3. Crie um pipeline e adicione notificações para quando o pipeline for bem-sucedido ou falhar.
    Ao adicionar uma notificação por e-mail, você seleciona um dos estados do pipeline e seleciona o servidor de e-mail e os destinatários.
  4. Adicione um estágio para o desenvolvimento e adicione uma tarefa de modelo em nuvem.
    1. Adicione uma tarefa de modelo de nuvem que implante a máquina e configure-a para usar o YAML do modelo de nuvem para o aplicativo WordPress.
      resources: DBTier: type: Cloud.Machine properties: name: mysql image: 'ubuntu-16' flavor: 'small' constraints: - tag: zone:dev WebTier: type: Cloud.Machine properties: name: wordpress image: 'ubuntu-16' flavor: 'small' constraints: - tag: zone:dev WP-Network-Private: type: Cloud.Network properties: name: WP-Network-Private networkType: existing constraints: - tag: 'type:isolated-net' - tag: 'zone:dev'
    2. Adicione uma tarefa de modelo de nuvem que destrua a máquina para liberar recursos.
  5. Adicione um estágio para produção e inclua tarefas de aprovação e implantação.
    1. Adicione uma tarefa de operação do usuário para exigir aprovação para enviar o aplicativo WordPress para produção.
    2. Adicione uma tarefa de modelo de nuvem para implantar a máquina e configure-a com o YAML de modelo de nuvem para o aplicativo WordPress.
      Quando você seleciona
      Criar
      , o nome da implantação deve ser exclusiva. Se você deixar o nome em branco, o
      Automation Pipelines
      atribuirá a ele um nome aleatório exclusivo.
      Veja o que você dever saber se selecionar
      Reverter
      no seu próprio caso de uso: se você selecionar a ação
      Reverter
      e inserir uma
      Versão de Reversão
      , essa versão deverá estar no formato de
      n-X
      . Por exemplo,
      n-1
      ,
      n-2
      ,
      n-3
      e assim por diante. Se você criar e atualizar a implantação em qualquer local que não seja
      Automation Pipelines
      , a reversão será permitida.
      A tarefa de modelo de nuvem pode usar um modelo de nuvem da VMware no Automation Assembler ou extraia um do controle de origem em um repositório GitLab ou GitHub.
  6. Execute o pipeline.
    Para examinar se cada tarefa foi concluída com êxito, clique na tarefa em execução e verifique o status nos detalhes da implantação para ver informações detalhadas sobre os recursos.
  7. No GitHub, modifique o tipo de instância de servidor do WordPress de
    small
    para
    medium
    .
    Quando você confirmar as alterações, o pipeline será disparado. Ele extrairá o código atualizado do repositório do GitHub e compilará o aplicativo.
    WebTier: type: Cloud.Machine properties: name: wordpress image: 'ubuntu-16' flavor: 'medium' constraints: - tag: zone:dev
  8. Execute o pipeline novamente, verifique se foi bem-sucedido e se ele alterou o tipo de instância do WordPress de
    pequena
    para
    média
    .
Parabéns! Você automatizou o lançamento do aplicativo implantado a partir de um modelo de nuvem YAML.
Para saber mais sobre como usar o
Automation Pipelines
, consulte Tutoriais para usar o Automation Pipelines.
Para obter mais informações, consulte os recursos adicionais em Introdução ao
VMware Aria Automation
.