---
title: Manual de Instalação Agility
slug: agility/manual-de-instalacao-agility
description: Learn how to install Agility with this comprehensive document. Find out about the necessary prerequisites, such as setting up FrontManager and configuring tenants and applications. Access to infrastructure credentials is also required. Discover the requir
docTags: 
createdAt: 2023-07-14T11:08:55.631Z
---

# Pré-requisitos para instalação

- [x] Instalação do *FrontManager*
- [x] Configuração dos tenants e aplicações
- [x] Dados de acesso a infraestrutura da centralit (credenciais do git, credenciais do nexus)
- [x] kubectl configurado para o ambiente onde será feito o deploy (isso inclui as variáveis de ambiente do projeto, com seus devidos dados de acesso).

## Ferramentas

- Banco de dados (PostgreSQL 13+ / SQLServer 2019+ / Oracle 12c+)
- KeyCloak (já deve estar instalado pois o FrontManager depende dele)
- MinIO (já deve estar instalado pois o FrontManager depende dele)
- Kafka (já deve estar instalado pois o FrontManager depende dele)

# Passos para instalação

Passos para instalação do Agility:

- Clonar o repositório do hyper-kanban-api

:::BlockQuote
git clone http\://gitlab.centralit.io/centralit/hyper-platform/hyper-kanban-api.git
:::

- Entrar na pasta onde o projeto foi clonado e fazer checkout da branch devel

:::BlockQuote
git checkout devel
:::

- Executar Step 1. Migrations
- Executar Step 2. Deploy

## Passo 1. Migrations

O script `migrations.sh` processa as migrações para múltiplos bancos de acordo com as configurações presentes num arquivo de migrações em formato json que por padrão é migrations-config.json na mesma pasta do script.

### Arquivo migrations-config.json

O arquivo deve seguir a estrutra abaixo:

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/eciJzu7zg6TaeznNNQ7VI_image.png)

Onde os atributos de cada tenant que segue:

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/gIsKKe2OGaiqOhwZr1wox_image.png" size="80" width="639" height="347" position="center" showCaption="false"}

### Exemplo

Exemplo de arquivo com dois tenants (`run2biz e tenant1`) para o ambiente `desen` aplicação `hyper-kanban-api` (esta aplicação).

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/TGQxYWPoJzXcvmg0zUOe4_image.png)

### Execução do script migrations.sh

**Modo de uso**

:::BlockQuote
./migration.sh \<nomeTenant> ...
:::

**Exemplo**

:::BlockQuote
./migration.sh run2biz tenant1
:::

## Passo 2. Deploy

### Via gitlab CI

Para alguns ambientes, já existe a automação no gitlab, onde simplesmente fazendo o merge para a branch ele já aciona o deploy do produto (apps.centralit, labcentral). São os casos das branches com prefixo `deploy/`

Exemplo gitlab CI na branch deploy/apps.centralit.com.br&#x20;

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/KewmGvQ08jMnFzdAFCvDd_image.png)

### Manual via script kubectl

Para fazer manual, devem ser criados os arquivos template do ambiente em questão:

- configmap.template.yml
- deployment.template.yml
- ingress.template.yml
- service.template.yml

No caso, o único arquivo a ser atualizado seria o configmap.template.yml (variáveis de ambiente), o restante deles segue o mesmo padrão e conteúdo. Os arquivos devem ser criados na pasta k8s, em uma nova pasta com o nome do ambiente. Após isso, o script `k8s-apply.sh` deve ser executado passando qual o ambiente será atualizado com o deploy. Ex: `k8s-apply.sh dev-eveo`

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/HJQPqtMOob5sJLhJCuL2u_image.png)

### Atualizando direto no Rancher

Nos casos onde o ambiente kubernetes já existe e é necessário apenas atualizar o pacote, basta trocar o caminho do pacote pelo disponibilizado no registry.

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/KN6Q0XoYa3LewS_DZEVBW_image.png)

