도커 이미지를 AWS ECR로 푸시 - Bitbucket Pipeline
7372 단어 kubernetesawsbitbucket
Bitbucket 리포지토리 만들기
1: ssh 키를 생성했습니다.
ssh-keygen -t rsa -C [email protected]
2: bitbucket에 pub 키를 추가합니다.
3: 원격을 설정하지만... 암호가 필요합니까?
git remote add origin [email protected]:xxx/yyy.git
git push origin master
Password for 'https://[email protected]':
# ????
4: 원격 URL 가져오기
git config --get remote.origin.url
https://[email protected]/bbb/ccc.git
5: 이것은 https가 아니어야 합니다... git이어야 합니다.
git remote set-url origin [email protected]:xxxx/yyyy.git
오류..
6: ssh 키 지정
https://qiita.com/sonots/items/826b90b085f294f93acf
Bitbucket에서 ECR로 Docker 이미지 푸시
OIDC의 IAM 역할을 생성해야 합니다.
Bitbucket의 ID 공급자를 가져옵니다.
Bitbucket에서 정보를 얻을 수 있습니다.
{Your repository settings} > Pipelines > OpenID Connect
다음을 얻으십시오.
ssh-keygen -t rsa -C [email protected]
git remote add origin [email protected]:xxx/yyy.git
git push origin master
Password for 'https://[email protected]':
# ????
git config --get remote.origin.url
https://[email protected]/bbb/ccc.git
git remote set-url origin [email protected]:xxxx/yyyy.git
OIDC의 IAM 역할을 생성해야 합니다.
Bitbucket의 ID 공급자를 가져옵니다.
Bitbucket에서 정보를 얻을 수 있습니다.
{Your repository settings} > Pipelines > OpenID Connect
다음을 얻으십시오.
AWS IAM 설정.
공급자 만들기
IAM > Identity providers > Add provider
로 이동합니다. Identity provider URL
및 Audience
를 입력합니다. 정책 만들기
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "GetAuthorizationToken",
"Effect": "Allow",
"Action": [
"ecr:GetAuthorizationToken"
],
"Resource": "*"
},
{
"Sid": "AllowPushImage",
"Effect": "Allow",
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:InitiateLayerUpload",
"ecr:UploadLayerPart",
"ecr:CompleteLayerUpload",
"ecr:PutImage"
],
"Resource": "arn:aws:ecr:ap-northeast-1:{AWS Account ID}:repository/*"
}
]
}
역할 만들기
IAM > Role > Create role
로 이동합니다. Web identity
를 선택합니다. Identity provider URL
및 Audience
를 선택합니다. bitbucket 파이프라인을 구성합니다.
Official
최소 구성
image: atlassian/default-image:2
definitions:
script: &ecrScript
- docker build -t $REPO_NAME .
- pipe: atlassian/aws-ecr-push-image:1.5.0
variables:
AWS_OIDC_ROLE_ARN: $OIDC_ROLE_ARN
IMAGE_NAME: $IMAGE_NAME
TAGS: "${BITBUCKET_TAG} build-$BITBUCKET_BUILD_NUMBER latest"
pipelines:
custom:
build-custom:
- step:
name: Deploy to ECR
services:
- docker
oidc: true
script: *ecrScript
노트
AWS_DEFAULT_REGION
는 변수로 구성해야 합니다. 그렇지 않으면 ValueError: Invalid endpoint: https://api.ecr..amazonaws.com
오류가 발생합니다. 공식문서를 확인해주세요.
Reference
이 문제에 관하여(도커 이미지를 AWS ECR로 푸시 - Bitbucket Pipeline), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/ahn4/push-docker-image-to-aws-ecr-bitbucket-pipeline-2fin
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
image: atlassian/default-image:2
definitions:
script: &ecrScript
- docker build -t $REPO_NAME .
- pipe: atlassian/aws-ecr-push-image:1.5.0
variables:
AWS_OIDC_ROLE_ARN: $OIDC_ROLE_ARN
IMAGE_NAME: $IMAGE_NAME
TAGS: "${BITBUCKET_TAG} build-$BITBUCKET_BUILD_NUMBER latest"
pipelines:
custom:
build-custom:
- step:
name: Deploy to ECR
services:
- docker
oidc: true
script: *ecrScript
Reference
이 문제에 관하여(도커 이미지를 AWS ECR로 푸시 - Bitbucket Pipeline), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ahn4/push-docker-image-to-aws-ecr-bitbucket-pipeline-2fin텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)