Este teste tem como objetivo habilitar a capacidade de provisionamento de recursos em nuvem por meio de uma plataforma, com a abstração dos conceitos de DevOps. Seguem as tarefas:
- Provisionar o sistema Backstage (utilizado para abstrair as funcionalidades da plataforma).
- Configurar o Backstage para possibilitar o provisionamento de um bucket (repositório de arquivos na nuvem).
- Configurar o Backstage para habilitar o recurso de site estático no bucket mencionado.
- Criar/configurar o Backstage para que possa provisionar um repositório Git destinado a receber os arquivos de um site estático.
- Estabelecer/configurar um Pipeline de CI/CD para publicar o site estático no bucket especificado.
DOCUMENTAÇÃO DO BACKSTAGE: https://backstage.io
É necessário configurar o provedor de autenticação no GitHub, como orientado na documentação: Documentação Autenticação Backstage Após obter o CLIENT ID e o CLIENT SECRET adicionar no .env (usar o .env.example para criar o seu .env)
Necessário criar o token de integração segundo a Documentação
Criar chaves de acesso ao usuário para obter ACCESS KEY e o SECRET KEY. Documentação
Para o funcionamento correto do aplicativo, é necessário configurar as seguintes permissões no seu serviço AWS:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:GetBucketPublicAccessBlock",
"s3:PutAccountPublicAccessBlock",
"s3:PutBucketPublicAccessBlock",
"s3:CreateBucket",
"s3:ListBucket",
"s3:GetBucketPolicy",
"s3express:GetBucketPolicy",
"s3:PutObject",
"s3:GetObject",
"s3:GetAccountPublicAccessBlock",
"s3express:CreateBucket",
"s3:PutAccessPointPublicAccessBlock",
"s3:PutBucketPolicy",
"s3express:PutBucketPolicy"
],
"Resource": "*"
}
]
}
Por favor, certifique-se de que essas permissões estão corretamente configuradas antes de iniciar o aplicativo.
Após baixar o repositório executar:
yarn install
Após a instalação das dependências, executar os testes:
yarn dev
- AWS S3 Create Static Website Esse plugin, cria o bucket na aws e configura para ser um site estático
- Static GitHub + Github Actions CI/CD Esse plugin cria o repositório no github, recebe o nome do bucket e no final sobre um exemplo de código estático no github, contendo um workflow. Esse workflow no momento que for executado irá criar o bucket na AWS, ajustando todas a politicas dele para ser um site estático e subir os arquivos no bucket
- S3 Static Website Esse template irá criar o repositório e o bucket via backstage. Irá criar o workflow que ao ser executado irá subir o html de exemplo
Obs.: é necessário configurar o secrets dentro do repositório com Key e Secret da AWS para poder enviar os arquivos.