DEV Community

Lucas Cândido Araújo
Lucas Cândido Araújo

Posted on

Azure DevOps Pipelines e Release - Build And Push to ECR With Deploy to ECS Fargate PT-1

Meu Primeiro Post!

Para começar, escolhi um tópico com pouca documentação.

Pré Requisitos:

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

Primeira Task Docker Build

2.Push to ECR: utilizará a task AmazonWebServices.aws-vsts-tools.ECRPushImage.ECRPushImage@1

Segunda Task ECR Push

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)
Enter fullscreen mode Exit fullscreen mode

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)