AWS ECRへのDockerイメージのプッシュ
7126 ワード
次のようにします リポジトリの作成 BecketからECRにDockerイメージを押してください Bitbucketパイプラインの設定 リポジトリの作成
アイデンティティプロバイダー 観客
移動する フィルイン
移動する 絹篩で篩うたよう 絹篩で篩うたよう 前の手順で作成したポリシーを選択します. Bitbucketパイプラインの設定
リポジトリの作成
1 : SSHキーを作成しました.
ssh-keygen -t rsa -C [email protected]
2 :パブバケットをBitbucketに加える.
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
BecketからECRにDockerイメージを押してください
OIDCのIAM役割を作成しなければなりません.
Bitbucketのアイデンティティプロバイダーを取得します。
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のアイデンティティプロバイダーを取得します。
Bitbucketから情報を得ることができます.
{Your repository settings} > Pipelines > OpenID Connect
次を取得します.AWSアイアムセッティング.
プロバイダーの作成
IAM > Identity providers > Add provider
. Identity provider URL
and 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
and 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へのDockerイメージのプッシュ), 我々は、より多くの情報をここで見つけました
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へのDockerイメージのプッシュ), 我々は、より多くの情報をここで見つけました https://dev.to/ahn4/push-docker-image-to-aws-ecr-bitbucket-pipeline-2finテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol