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.

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.

Pré-requisitos

  • 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.

Procedimento

  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.

Resultados

Parabéns! Você automatizou o lançamento do aplicativo implantado a partir de um modelo de nuvem YAML.

O que Fazer Depois

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.