50 lines
1.8 KiB
Bash
50 lines
1.8 KiB
Bash
|
|
# 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"
|