mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
38 lines
1.3 KiB
Bash
Executable File
38 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# Copyright (c) 2020 Gitpod GmbH. All rights reserved.
|
|
# Licensed under the GNU Affero General Public License (AGPL).
|
|
# See License-AGPL.txt in the project root for license information.
|
|
|
|
# Parameters:
|
|
# $1: BASE_IMAGE
|
|
BASE_DIR="$( cd "$( dirname "$0" )/.." >/dev/null 2>&1 && pwd )"
|
|
BASE_IMAGE=$1
|
|
|
|
# 1. Read distro value
|
|
DISTRO_IN_FILE="/workspace/distro"
|
|
if [ ! -f "$DISTRO_IN_FILE" ]; then
|
|
echo "Unable to find file $DISTRO_IN_FILE. Exit with code 1.";
|
|
exit 1;
|
|
fi
|
|
DISTRO=$(cat $DISTRO_IN_FILE)
|
|
if [ -z "$DISTRO" ] || [ "$DISTRO" = "UNDEFINED" ]; then
|
|
echo "Distro value '$DISTRO'! Exit with code 1.";
|
|
exit 1;
|
|
fi
|
|
# The file has served it's purpose, now move it out of the way
|
|
rm -f $DISTRO_IN_FILE
|
|
|
|
# 2. Copy distro-specific files into workspace (default path in Google Cloud Container builder: /workspace)
|
|
DISTRO_PATH="$BASE_DIR/gitpod-layer/$DISTRO"
|
|
cp -R "$DISTRO_PATH"/. ./
|
|
|
|
# 3. Copy the gitpod-cli into the workspaace
|
|
cp "$BASE_DIR"/gitpod-cli gitpod-cli
|
|
|
|
# 4. Create Dockerfile in /workspace starting from BASE_IMAGE and append the distro-specific part
|
|
echo "FROM $BASE_IMAGE" > Dockerfile
|
|
(cat "$BASE_DIR/gitpod-layer/prepend.dockerfile"; echo) >> Dockerfile
|
|
cat "$DISTRO_PATH/Dockerfile" >> Dockerfile
|
|
|
|
echo "Generated Dockerfile with BASE_IMAGE: $BASE_IMAGE"
|