Pular para o conteúdo principal

Deploy da Infraestrutura da Aplicação

Nesta seção, você encontra como fazer o deploy da infraestrutura da Aplicação.


Cuidado!

O fluxo de configuração de Deploy e adição de contas Cloud na StackSpot desta forma só está disponível para:

  • Contas Enterprise criadas antes de 2024.

Contas Enterprise criadas a partir de Janeiro de 2024 devem fazer Deploy via Runtimes Self-hosted.

Atenção!

Esse fluxo de deploy é exclusivo para contas StackSpot Enterprise pois utilizam os serviços de Deploy e Self-Hosted da StackSpot.


Em um fluxo de Deploy com a StackSpot, o time de Deploy é responsável por provisionar os recursos de Infraestrutura e Nuvem para as Aplicações e Infraestruturas.

Na StackSpot é possível fazer Deploy da Infraestrutura de dois tipos de Plugins:

  • Tipo App: Feito através do comando stk deploy app, irá fazer o Deploy das peças de Infraestrutura da Aplicação que o Plugin gera;
  • Tipo Infra: Feito pelo comando stk deploy infra, irá fazer o Deploy das peças de Infraestrutura da Infraestrutura que o Plugin gera.

Os Deploys são executados dentro de Ambiente conectado a uma Conta no seu serviço de Nuvem e associado a um Workspace.

Informação Adicional

Uma Conta StackSpot pode ser composta de uma Conta do serviço de Nuvem para cada associação de Workspace e Ambiente.

Pré-requisitos

Iniciar o Deploy no STK CLI

Passo 1. No seu terminal, faça login na sua Conta StackSpot e selecione o seu Workspace. Execute o comando:

stk use workspace <NOME-WORKSPACE>

Para saber mais sobre este comando, acesse a página Comandos de Workspace.

Passo 2. Acesse o diretório do projeto da sua Aplicação:

cd <nome-da-aplicação> 

Passo 3. Em seguida, execute, no terminal do STK CLI, o comando:

stk deploy app --version<version> --env<environment-id> -w
Dica!
  • Version: É a tag da Aplicação que aparece no Portal, caso o deploy for realizado com sucesso.
  • Environment: É o ambiente configurado no Workspace onde a Aplicação será implantada.
  • Branch: você pode adicionar a flag --branch<branch-name>. É o nome da sua branch utilizada junto com o repositório informado no manifesto da Aplicação, e esta é uma flag opcional. Se você precisa fazer o checkout do repositório durante o processo de deploy, ao informar essa flag, Deploy irá clonar o repositório na branch especificada. Confira o passo a passo para liberar liberar o acesso a repositórios privados.

Passo 4. Se nenhum erro acontecer, o terminal retornará um comando para você o status do Deploy. Execute o comando:

stk deploy status <id da aplicação> --watch

Neste caso, o id é um argumento que aparece no STK CLI logo após de você ter feito o deployment.

Os status que serão retornados são:

  • Running: em execução.
  • Succeeded: deploy bem-sucedido.
  • User error: erro de usuário. Geralmente está relacionado a algum um erro na execução do comando terraform apply ou porque o template de IaC do Plugin não foi gerado conforme esperado. Além disso, também pode ser por causa de um problema de permissão na conta de Cloud.
  • Runtime error: erro no Deploy. É um interno na StackSpot que ainda não está tratado e precisa de maior avaliação do time de engenharia.

Quando o Deploy terminar, uma tela de Atividades será exibida no Portal para que você consiga consultar todos os dados relacionados ao Deploy, além do histórico de Deploys e versões em cada Ambiente.

Informação Adicional

Para debugar o deploy e ter acesso aos logs do Terraform, execute o comando:

stk deploy status 01H8FCXE6ZEM79X9HJYSVN12C0 --report md

O que você pode fazer depois do deployment?

Confira o que você pode fazer depois de fazer o deploy da Infraestrutura da sua Aplicação.

1. Monitorar sua Aplicação no Portal da StackSpot EDP

Aprenda a monitorar a sua Aplicação na seção Atividades.

2. Rollback de uma Aplicação

O Rollback funciona como um Deploy, mas com um ID específico. É baseado em um Deploy específico, ao executar um Rollback, uma versão é indicada para que haja um novo Deploy com os mesmos IaCs gerados na versão.

O usuário que fará o Rollback deve ter a seguinte role: runtime:deploy_app.

Siga os passos:

Passo 1. No seu terminal, entre na pasta do seu projeto e depois selecione o seu Workspace com o comando:

stk use workspace <NOME-WORKSPACE>

Passo 2. Execute o comando:

stk rollback app --version=<version> --env=<environment-id>
  • Version: é a versão já deployada escolhida para fazer o rollback. No rollback, um novo deploy é feito baseado na versão informada, sem precisar criar uma nova tag.

Para acompanhar o status do rollback, execute o seguinte comando:

stk rollback status <run-id>

Neste caso, run-id é um argumento.

3. Destruir (destroy) uma Aplicação

Atenção

Este recurso está temporariamente desativado. Durante esse período, se precisar destruir uma infraestrutura de Aplicação, contate o nosso suporte.

Depois que você faz o deploy da Infraestrutura de uma Aplicação, se você quiser apagá-la, você deve "destruí-la".

Informação Adicional

Quando você executa o comando stk destroy app, você está apenas destruindo a Infraestrutura dessa Aplicação.

O registro dela continua existindo no seu Workspace. Para apagá-la, você deve seguir os passos da seção Como apagar sua Aplicação no Portal StackSpot

O usuário que fará o destroy deve ter a seguinte role: runtime:destroy_app.

Para fazer isso, siga as instruções:

Passo. 1 No seu terminal, acesse o diretório do projeto da Aplicação que você quer destruir:

cd <nome-da-aplicação> 

Passo 2. Então execute o comando para destruir a Aplicação:

stk destroy app --env=<environment-id>

Por exemplo:

stk destroy app --env=sandbox

Passo 3. No STK CLI, responda à pergunta e confirme que você quer destruir a aplicação.

Passo 4. Para acompanhar o status do destroy, execute o comando:

stk destroy app  --env<environment-id> --watch

Próximos passos