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

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


+ 0 - 50
packages/app/docker/codebuild/buildspec/create-manifests.sh

@@ -1,50 +0,0 @@
-#!/bin/bash
-
-ARGUMENT_LIST=(
-  "target-image"
-  "tags"
-  "source-manifests"
-)
-
-
-# read arguments
-opts=$(getopt \
-  --longoptions "$(printf "%s:," "${ARGUMENT_LIST[@]}")" \
-  --name "$(basename "$0")" \
-  --options "" \
-  -- "$@"
-)
-
-eval set --$opts
-
-while [[ $# -gt 0 ]]; do
-  case "$1" in
-    --source-manifests)
-      sourceManifests=$2
-      shift 2
-      ;;
-
-    --target-image)
-      targetImage=$2
-      shift 2
-      ;;
-
-    --tags)
-      tags=$2
-      shift 2
-      ;;
-
-    *)
-      break
-      ;;
-  esac
-done
-
-for tag in $(echo $tags | tr "," "\n")
-do
-    tag=`echo $tag | awk '{gsub(/ /,""); print}'`
-    echo "docker manifest create $targetImage:$tag $sourceManifests"
-    eval "docker manifest create $targetImage:$tag $sourceManifests"
-    echo "docker manifest push $targetImage:$tag"
-    eval "docker manifest push $targetImage:$tag"
-done

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

@@ -1,23 +0,0 @@
-version: 0.2
-env:
-  variables:
-    IMAGE_HOST: ''
-    # IMAGE_NAME: weseek/growi
-    IMAGE_NAME: weseek/growi-codebuild-test
-    SOURCE_TAG_AMD64: latest-amd64
-    SOURCE_TAG_ARM64: latest-arm64
-    TAGS: latest
-    SECRETS_JSON_KEY: DOCKER_REGISTRY_PASSWORD # DOCKER_REGISTRY_PASSWORD or DOCKER_REGISTRY_ON_GITHUB_PASSWORD
-  secrets-manager:
-    DOCKER_REGISTRY_PASSWORD: growi/official-image-builder:$SECRETS_JSON_KEY
-phases:
-  pre_build:
-    commands:
-      - echo ${DOCKER_REGISTRY_PASSWORD} | docker login --username wsmoogle --password-stdin ${IMAGE_HOST}
-  build:
-    commands:
-      - export IMAGE="${IMAGE_HOST}${IMAGE_HOST:+/}${IMAGE_NAME}"
-      - bash ./packages/app/docker/codebuild/buildspec/create-manifests.sh
-          --target-image "${IMAGE}"
-          --tags "${TAGS}"
-          --source-manifests "${IMAGE}:${SOURCE_TAG_AMD64} ${IMAGE}:${SOURCE_TAG_ARM64}"

+ 0 - 46
packages/app/docker/codebuild/buildspec/root.yml

@@ -1,46 +0,0 @@
-version: 0.2
-batch:
-  fast-fail: true
-  build-graph:
-    # build
-    - identifier: build_amd64
-      buildspec: packages/app/docker/codebuild/buildspec/image.yml
-      env:
-        image: aws/codebuild/standard:6.0
-        compute-type: BUILD_GENERAL1_LARGE
-        type: LINUX_CONTAINER
-        variables:
-          TAG_VERSION: latest
-          TAG_SUFFIX: amd64
-    - identifier: build_arm64
-      buildspec: packages/app/docker/codebuild/buildspec/image.yml
-      env:
-        image: aws/codebuild/amazonlinux2-aarch64-standard:2.0
-        compute-type: BUILD_GENERAL1_LARGE
-        type: ARM_CONTAINER
-        variables:
-          TAG_VERSION: latest
-          TAG_SUFFIX: arm64
-    # create manifest
-    - identifier: create_manifest_dockerhub
-      buildspec: packages/app/docker/codebuild/buildspec/manifest.yml
-      env:
-        variables:
-          SECRETS_JSON_KEY: DOCKER_REGISTRY_PASSWORD
-          SOURCE_TAG_AMD64: latest-amd64
-          SOURCE_TAG_ARM64: latest-arm64
-          TAGS: latest
-      depend-on:
-        - build_amd64
-        - build_arm64
-    # - identifier: create_manifest_ghcr
-    #   buildspec: packages/app/docker/codebuild/buildspec/manifest.yml
-    #   env:
-    #     variables:
-    #       IMAGE_HOST: ghcr.io
-    #       SECRETS_JSON_KEY: DOCKER_REGISTRY_ON_GITHUB_PASSWORD
-    #       SOURCE_MANIFESTS: ghcr.io/weseek/growi/latest-amd64 ghcr.io/weseek/growi/latest-arm64
-    #       TAGS: latest
-    #   depend-on:
-    #     - build_amd64
-    #     - build_arm64

+ 2 - 3
packages/app/docker/codebuild/codebuild.tf

@@ -1,6 +1,5 @@
 module "codebuild" {
-  # https://github.com/weseek/terraform-aws-codebuild
-  source = "github.com/weseek/terraform-aws-codebuild"
+  source = "cloudposse/codebuild/aws"
 
   name                = "growi-official-image-builder"
   description         = "The CodeBuild Project for GROWI official docker image"
@@ -12,7 +11,7 @@ module "codebuild" {
   source_version      = "refs/heads/support/build-with-codebuild"
   git_clone_depth     = 1
 
-  buildspec           = "packages/app/docker/codebuild/buildspec/root.yml"
+  buildspec           = "packages/app/docker/codebuild/buildspec.yml"
 
   # https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html
   build_image         = "aws/codebuild/amazonlinux2-x86_64-standard:3.0"

+ 2 - 2
packages/app/docker/codebuild/terraform.tfstate

@@ -1,7 +1,7 @@
 {
   "version": 4,
   "terraform_version": "1.3.7",
-  "serial": 185,
+  "serial": 187,
   "lineage": "7413839f-c67c-02f5-4933-fcb84251bb29",
   "outputs": {},
   "resources": [
@@ -394,7 +394,7 @@
               {
                 "auth": [],
                 "build_status_config": [],
-                "buildspec": "packages/app/docker/codebuild/buildspec/root.yml",
+                "buildspec": "packages/app/docker/codebuild/buildspec.yml",
                 "git_clone_depth": 1,
                 "git_submodules_config": [],
                 "insecure_ssl": false,