1. ECR - Criação do Repositório
- Acessar o ECR
- Clicar em Create Repository
- Setar apenas o nome -> clicar em Create Repository
- Entrar no repositório
- Clicar em View push commands
- Colar a pasta cloudformation e os arquivos appspec.yml, buildspec.yml e taskdef.json dentro do projeto
- Renomear os arquivos dentro do cloudformation para os nomes referenciados a este projeto
- Copiar os comandos exibidos no View push commands (passo 5)
- Colar no terminal em que estiver rodando o repositório:
aws ecr get-login-password --region ... --profile RESPECTIVOPERFIL | docker login --username AWS --password-stdin XXXXXX.dkr.ecr...amazonaws.com
(atentar-se ao --profile ) - Comando 1: Buildar a aplicação
docker build -t NOMEDAIMAGEM .
- Comando 2: Tagear a imagem com o comando obtido na AWS
docker tag NOMEDAIMAGEM:latest XXXXXX.dkr.ecr...amazonaws.com/NOMEDAIMAGEM:latest
- Comando 3: Enviar a imagem com o comando obtido na AWS
docker push XXXXXX.dkr.ecr...amazonaws.com/NOMEDAIMAGEM:latest
- Acessar o CloudFormation
- Em cloudformation/development/ecs/ecs-Service-...-.yml editar a Description:
- Alterar a Image pela imagem criada/URL no ECR (linha 30)
- Alterar o ServiceName para o mesmo nome do repositório
- No cloudformation, ir até Create Stack -> With new resources (standart) -> Next -> Upload a template file -> Importar o arquivo .yml editado anteriormente
- Stack Name: ecs-service-
NOMEDOSERVICO
-qas - Next
- Tagear o projeto
- Check
I acknowledge that AWS CloudFormation might create IAM resources with custom names.
-> Next
3. Pipeline
- Editar o arquivo CodePipeline-...yml
- ApplicationName (Nome da Pipeline da aplicação)
- EcsStackName (Nome dado ao ECS anteriormente)
- CodeCommitRepository (Nome do repositório no CodeCommit)
- SourceBranch (Branch padrão)
- EcrImageRepo (Nome do repositório no ECR)
- Acessar o CloudFormation
- No cloudformation, ir até Create Stack -> With new resources (standart) -> Next -> Upload a template file -> Importar o arquivo CodePipeline-....yml editado anteriormente
- Stack Name: codepipeline-ecs-
NOMEDOSERVICO
-qas - Next
- Tagear o projeto
- Next
- Check
I acknowledge that AWS CloudFormation might create IAM resources with custom names.
-> Next
4. Redirecionar DNS
↪ Acessar Documentação