Meu Primeiro Post!
Para começar, escolhi um tópico com pouca documentação.
Pré Requisitos:
- Extensão instalada no Azure DevOps: AWS Toolkit for Azure DevOps
- AWS ECR já criado
- Credencial programática no AWS IAM criada
Em Pipelines, vou exemplificar no modo clássico e também com o azure-pipelines.yml
.
Modo Clássico
1.Build Image: utilizará o docker@2
2.Push to ECR: utilizará a task AmazonWebServices.aws-vsts-tools.ECRPushImage.ECRPushImage@1
Modo YAML utilizando azure-pipelines.yml
trigger:
branches:
include:
- refs/heads/master
name: $(date:yyyyMMdd)$(rev:.r)
jobs:
- job: Job_1
displayName: BuildAndPush
pool:
vmImage: ubuntu-latest
steps:
- checkout: self
fetchDepth: 1
- task: Docker@2
displayName: build
inputs:
repository: $(DOCKER_REPOSITORY_NAME)
command: build
Dockerfile: Dockerfile
tags: $(Build.BuildNumber)
- task: AmazonWebServices.aws-vsts-tools.ECRPushImage.ECRPushImage@1
displayName: 'Push Image: '
inputs:
awsCredentials:
regionName: us-east-1
sourceImageName: $(DOCKER_REPOSITORY_NAME)
sourceImageTag: $(Build.BuildNumber)
repositoryName: $(DOCKER_REPOSITORY_NAME)
pushTag: $(Build.BuildNumber)
Obs. Lembre-se de armazenar as variaveis, na aba Variables
Criar Service Connection AWS
Após instalar a extensão, clique em Project Settings
(ícone no canto inferior esquerdo) e, em seguida, em Service Connections
. No botão New Service Connection, selecione "AWS" e insira o Access key ID e a Secret access key. Defina um nome em Service Connection name, principalmente se usar mais de uma conta AWS, e clique em Save.
Para não alongar demais este post, criarei a Parte 2 - Deploy da imagem no AWS ECS Fargate.
Top comments (0)