PromucFlow_constructor/ci/3-scripts/3-build.sh

50 lines
1.8 KiB
Bash
Raw Normal View History

2021-07-08 10:56:01 +00:00
# Build Docker images for client and server, and push to registry/registries.
set -o errexit
set -o pipefail
set -o xtrace
{
aws --version
java -version
node --version
docker version
echo "$DOCKER_HUB_PASSWORD" | docker login --username "$DOCKER_HUB_USERNAME" --password-stdin
docker info
image_prefix=""
if [[ -z $DOCKER_HUB_ORGANIZATION ]]; then
image_prefix="$DOCKER_HUB_ORGANIZATION/"
fi
if [[ -z $DOCKER_TAG_NAME ]]; then
DOCKER_TAG_NAME="${CODEBUILD_SOURCE_VERSION:-release}"
fi
aws s3 cp --no-progress "$S3_BUILDS_PREFIX/$BATCH_ID/client-dist.tgz" .
aws s3 cp --no-progress "$S3_BUILDS_PREFIX/$BATCH_ID/server-dist.tgz" .
tar -xaf client-dist.tgz
mv -v client-dist "$CODEBUILD_SRC_DIR/app/client/build"
cd "$CODEBUILD_SRC_DIR/app/client"
docker build --tag "${image_prefix}appsmith-editor:$DOCKER_TAG_NAME" .
echo Building server code
tar -xaf server-dist.tgz
# The following is a horrible attempt at moving the jar files to their original locations, before `build.sh` moving
# them. The Dockerfile expects them to be _kind of_ in these places.
mkdir -p "$CODEBUILD_SRC_DIR/app/server/appsmith-server/target"
mv -v server-dist/server-1.0-SNAPSHOT.jar "$CODEBUILD_SRC_DIR/app/server/appsmith-server/target/"
mkdir -p "$CODEBUILD_SRC_DIR/app/server/appsmith-plugins/dummy"
mv -v server-dist/plugins "$CODEBUILD_SRC_DIR/app/server/appsmith-plugins/dummy/target"
ls "$CODEBUILD_SRC_DIR/app/server/appsmith-server/target" # Should list `server-1.0-SNAPSHOT.jar` only.
ls"$CODEBUILD_SRC_DIR/app/server/appsmith-plugins/dummy/target" # Should list all plugin jar files.
docker build --tag "${image_prefix}appsmith-server:$DOCKER_TAG_NAME" .
docker push "${image_prefix}appsmith-editor:$DOCKER_TAG_NAME"
docker push "${image_prefix}appsmith-server:$DOCKER_TAG_NAME"
} 2>&1 | tee -a "ci/logs/$CODEBUILD_BATCH_BUILD_IDENTIFIER.log"