Deploy da Infraestrutura da Aplicação
Nesta seção, você encontra como fazer o deploy da infraestrutura da Aplicação.
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.
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.
Uma Conta StackSpot pode ser composta de uma Conta do serviço de Nuvem para cada associação de Workspace e Ambiente.
Pré-requisitos
-
Já ter criado, configurado e disponibilizado Plugins de Infra na Conta e no Workspace.
-
O usuário que fará o deploy deve ter a seguinte role:
runtime:deploy_app
.
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
- 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 comandoterraform 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.
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
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".
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