From 552f094342d2d816ca61807f141a76c11f71d582 Mon Sep 17 00:00:00 2001 From: Patrick Patat Date: Fri, 4 Oct 2024 14:42:46 +0200 Subject: [PATCH] add docker image build --- build/deploy-actions.sh | 77 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/build/deploy-actions.sh b/build/deploy-actions.sh index d98134a943..d0c81884bf 100755 --- a/build/deploy-actions.sh +++ b/build/deploy-actions.sh @@ -29,6 +29,82 @@ echo "branch: ${CTIA_BRANCH}" echo "build number: ${CTIA_BUILD_NUMBER}" echo "commit: ${CTIA_COMMIT}" +function build-and-push-docker-image { + build_type=$1 + if [ $build_type == 'int' ]; + then + repo_prefix='int' + echo "Building docker image for integration" + else + echo "skipping docker release build" + exit 0 + repo_prefix='test' + echo "Building release docker image" + fi + build_version="${CTIA_BUILD_NUMBER}-${CTIA_COMMIT:0:8}" + docker_registry=372070498991.dkr.ecr.us-east-1.amazonaws.com + docker_nomad_repository=$repo_prefix-docker-build/ctia + docker_eks_repository=ctr-$repo_prefix-eks/$repo_prefix-iroh + tempdir=$(mktemp -d) + cp target/ctia.jar $tempdir/ + cat <$tempdir/entrypoint.sh +#!/bin/sh +set -x +if [ -n "\${INTERNAL_CA_PATH+set}" ]; +then + cp \$INTERNAL_CA_PATH/* /usr/local/share/ca-certificates/ + update-ca-certificates +fi +exec runuser -u nobody -- "\${@}" +EOF + + cat <$tempdir/Dockerfile +FROM 372070498991.dkr.ecr.us-east-1.amazonaws.com/$repo_prefix-docker-build/cloud9_alpine_java:latest +USER root +RUN apk update +RUN apk add runuser +RUN mkdir /ctia +WORKDIR /ctia + +ADD ctia.jar /ctia/ +ADD 'https://dtdg.co/latest-java-tracer' /ctia/dd-java-agent.jar +RUN chmod 644 /ctia/ctia.jar +RUN chmod 644 /ctia/dd-java-agent.jar +ADD entrypoint.sh / +RUN chmod 755 /entrypoint.sh +ENTRYPOINT ["/sbin/tini", "--", "/entrypoint.sh"] +EOF + + cd $tempdir + aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin $docker_registry + docker build -t $docker_registry/$docker_nomad_repository:$build_version . + docker push $docker_registry/$docker_nomad_repository:$build_version + if [ $build_type == 'int' ]; + then + docker tag $docker_registry/$docker_nomad_repository:$build_version $docker_registry/$docker_eks_repository:ctia-$build_version + docker push $docker_registry/$docker_eks_repository:ctia-$build_version + fi + + if [ $build_type == 'rel' ] + then + prod_nomad_repository=prod-docker-build/ctia + prod_nam_registry=862934447303.dkr.ecr.us-east-1.amazonaws.com + aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin $prod_nam_registry + docker tag $docker_registry/$docker_nomad_repository:$build_version $prod_nam_registry/$prod_nomad_repository:$build_version + docker push $prod_nam_registry/$prod_nomad_repository:$build_version + + prod_eu_registry=862934447303.dkr.ecr.eu-west-1.amazonaws.com + aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin $prod_eu_registry + docker tag $docker_registry/$docker_nomad_repository:$build_version $prod_eu_registry/$prod_nomad_repository:$build_version + docker push $prod_eu_registry/$prod_nomad_repository:$build_version + + prod_apjc_registry=862934447303.dkr.ecr.ap-northeast-1.amazonaws.com + aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin $prod_apjc_registry + docker tag $docker_registry/$docker_nomad_repository:$build_version $prod_apjc_registry/$prod_nomad_repository:$build_version + docker push $prod_apjc_registry/$prod_nomad_repository:$build_version + fi +} + function build-and-publish-package { PKG_TYPE=$1 @@ -56,6 +132,7 @@ function build-and-publish-package { ARTIFACT_NAME="${CTIA_BUILD_NUMBER}-${CTIA_COMMIT:0:8}.jar" aws s3 cp ./target/ctia.jar s3://${ARTIFACTS_BUCKET}/artifacts/ctia/"${ARTIFACT_NAME}" --sse aws:kms --sse-kms-key-id alias/kms-s3 + build-and-push-docker-image $PKG_TYPE } if [[ "${GITHUB_EVENT_NAME}" == "push" ]]; then