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 Code Stream 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 acionar seu pipeline, você precisará de um Modelo de Nuvem VMware.
Para Origem do modelo de nuvem na tarefa de modelo de nuvem do Code Stream, é possível selecionar:
- Modelo do Cloud Assembly como 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:
- No Cloud Assembly, envie o modelo de nuvem ao seu repositório do GitHub.
- No Code Stream, crie um endpoint do Git. Em seguida, crie um webhook do Git que use seu endpoint do Git e seu pipeline.
- 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 Cloud Assembly, você adicionará uma conta de nuvem, adicionará uma zona de nuvem e criará o modelo de nuvem.
- No Code Stream, 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.
Pré-requisitos
- Adicione uma conta de nuvem e uma zona de nuvem na infraestrutura do vRealize Automation Cloud Assembly. Consulte a documentação do vRealize Automation Cloud Assembly.
- Para criar o modelo de nuvem no procedimento a seguir, copie o código YAML do WordPress para a área de transferência. Consulte o código YAML do modelo de nuvem no caso de uso do WordPress na documentação do vRealize Automation Cloud Assembly.
- 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 Code Stream, clique em .
- Para trabalhar com uma tarefa de modelo de nuvem, você deve ter qualquer uma das funções do Cloud Assembly.
Procedimento
- No Cloud Assembly, siga estas etapas.
- Clique em VMware Cloud Templates e crie um modelo de nuvem e uma implantação para o aplicativo WordPress.
- Cole o código YAML do WordPress copiado para a área de transferência no modelo de nuvem e implante-o.
- No Code Stream, crie endpoints.
- Crie um endpoint do Git para o repositório GitHub local no qual o arquivo YAML reside.
- Adicione um endpoint de e-mail que possa notificar os usuários sobre o status do pipeline quando ele é executado.
- Crie um pipeline e adicione notificações para quando o pipeline for bem-sucedido ou falhar.
- Adicione um estágio para o desenvolvimento e adicione uma tarefa de modelo em nuvem.
- 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'
- Adicione uma tarefa de modelo de nuvem que destrua a máquina para liberar recursos.
- Adicione um estágio para produção e inclua tarefas de aprovação e implantação.
- Adicione uma tarefa de operação do usuário para exigir aprovação para enviar o aplicativo WordPress para produção.
- 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
Code Stream 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
Code Stream, a reversão será permitida.
Quando você faz login no
Code Stream, ele obtém um token de usuário, que é válido por 30 minutos. Para durações de pipeline de longa execução, quando a tarefa anterior à tarefa de modelo de nuvem demora 30 minutos ou mais para ser executada, o token de usuário expira. Como resultado, a tarefa de modelo de nuvem falha.
Para garantir que o pipeline possa ser executado por mais de 30 minutos, você pode inserir um token de API opcional. Quando o
Code Stream invocar o modelo de nuvem, o token de API persistirá, e a tarefa de modelo de nuvem continuará a usar o token de API.
Quando você usa o token de API como uma variável, ele é criptografado. Caso contrário, ele será usado como texto simples.
- 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.
- 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
- 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 Code Stream, consulte Tutoriais para usar o Code Stream.
Para obter referências adicionais, consulte Mais recursos para administradores e desenvolvedores do Code Stream.