IT,프로그래밍/AWS

[Azure + AWS] Azure Devops 파이프라인 에서 ECR로 push하기

  1. repo 생성

2. 파이프라인생성 → docker 로 선택

 

 

 

3.이때 node를 선택안하는 이유는 npm 과 같은 node명령어를 실행시킬것이 아닌 docker 이미지 빌드 명령어를 실행 시킬것이므로 node가 아닌 docker를 선택해준다

 

4.Amazon ecr push를 추가 해준다.

사진과 같이 azure의 파이프라인에서 tasks 를 추가하면 amazon ecr에 다이렉트로 push와 pull을 할수있다.

이때 amazon 계정을 미리 등록을 시켜놔야 하는데,

 

사진과 같이 미리 IAM에서 만든 AWS계정을 등록시켜 놓으면 된다.

 

- task: Docker@2 
      displayName: Build an image
      inputs:
        command: build #빌드
        repository: 'creatable-storage-service' #빌드될 도커이미지 이름 지정
        dockerfile: '$(Build.SourcesDirectory)/Dockerfile' #dockerfile지정
        tags: | 
          $(tag)
				#사용할 태그지정. (tag)를 하면 자동으로 올라가는 태그가 설정된다.

    - task: CmdLine@2
      inputs:
        script: 'docker images' #만들어진 도커 이미지 이름확인용 커맨드라인

#ECR push지정
    - task: ECRPushImage@1
      inputs:
        awsCredentials: 'cr-docker-deployment' 
        regionName: 'ap-northeast-2' #리전 설정
        imageSource: 'imagename'
        sourceImageName: 'creatable-storage-service' #만들어진 도커 이미지이름
        sourceImageTag: '$(tag)' #업로드시 ecr에 지정된 태그 설정.
        repositoryName: 'ncr/creatable-storage-service'#ECR 저장소 이름

성공!