Yuki Takei 3 лет назад
Родитель
Сommit
9d15ce2daf

+ 17 - 0
packages/app/docker/codebuild/buildspec-image.yml

@@ -0,0 +1,17 @@
+version: 0.2
+env:
+  variables:
+    DOCKER_BUILDKIT: 1
+phases:
+  pre_build:
+    commands:
+      - aws ecr get-login-password | docker login --username AWS --password-stdin $IMAGE_HOST
+  build:
+    commands:
+      - export IMAGE_TAG="${IMAGE_HOST}${IMAGE_HOST:+/}${IMAGE_NAME}:${TAG_VERSION:-latest}${TAG_SUFFIX:+-}${TAG_SUFFIX}"
+      - docker build -t $IMAGE_TAG .
+
+  post_build:
+    commands:
+      - docker push $IMAGE_TAG
+      

+ 21 - 0
packages/app/docker/codebuild/buildspec-manifest.yml

@@ -0,0 +1,21 @@
+version: 0.2
+env:
+  variables:
+    IMAGE_HOST: ''
+    IMAGE_NAME: example
+    TAG_VERSION: latest
+phases:
+  pre_build:
+    commands:
+      - aws ecr get-login-password | docker login --username AWS --password-stdin $IMAGE_HOST
+      - export IMAGE_TAG="${IMAGE_HOST}${IMAGE_HOST:+/}${IMAGE_NAME}:${TAG_VERSION:-latest}"
+      - export IMAGE_TAG_AMD64="${IMAGE_HOST}${IMAGE_HOST:+/}${IMAGE_NAME}:${TAG_VERSION:-latest}-amd64"
+      - export IMAGE_TAG_ARM64="${IMAGE_HOST}${IMAGE_HOST:+/}${IMAGE_NAME}:${TAG_VERSION:-latest}-arm64"
+  build:
+    commands:
+      - docker manifest create $IMAGE_TAG $IMAGE_TAG_AMD64 $IMAGE_TAG_ARM64
+
+  post_build:
+    commands:
+      - docker manifest push $IMAGE_TAG
+      

+ 21 - 0
packages/app/docker/codebuild/buildspec.yml

@@ -0,0 +1,21 @@
+version: 0.2
+batch:
+  fast-fail: true
+  build-graph:
+    - identifier: build_amd64
+      buildspec: buildspec-image.yml
+      env:
+        image: aws/codebuild/standard:6.0
+        privileged-mode: true
+        type: LINUX_CONTAINER
+    - identifier: build_arm64
+      buildspec: buildspec-image.yml
+      env:
+        image: aws/codebuild/standard:6.0
+        privileged-mode: true
+        type: ARM_CONTAINER
+    - identifier: create_manifest
+      buildspec: buildspec-manifest.yml
+      depend-on:
+        - build_amd64
+        - build_arm64