#!/bin/bash set -e SCRIPT_DIR=$(dirname "${BASH_SOURCE[0]}") ROOT=$( cd "$(dirname "${SCRIPT_DIR}")" || exit 1 pwd ) SERVER_PKG_NAME=$(cat "${ROOT}"/PACKAGE) ### # configurable variables IMAGE_NAME=pegasus:latest ### echo "Building image ${IMAGE_NAME}" cd "${ROOT}" || exit 1 if [[ -z ${SERVER_PKG_NAME} ]]; then echo "SERVER_PKG_NAME is empty" exit 1 fi if [[ ! -f "${ROOT}"/${SERVER_PKG_NAME}.tar.gz ]]; then echo "Failed to find package ${SERVER_PKG_NAME}.tar.gz in ${ROOT}" exit 1 else echo "Found package ${ROOT}/${SERVER_PKG_NAME}.tar.gz" fi cd "${ROOT}" || exit 1 mkdir -p ${IMAGE_NAME} cp -f docker/dev/linux/entrypoint.sh ${IMAGE_NAME}/entrypoint.sh cp -f docker/dev/linux/Dockerfile ${IMAGE_NAME}/Dockerfile sed -i 's/@SERVER_PKG_NAME@/'"${SERVER_PKG_NAME}"'/' ${IMAGE_NAME}/Dockerfile cp ${SERVER_PKG_NAME}.tar.gz ${IMAGE_NAME} cd ${IMAGE_NAME} || exit 1 docker build --build-arg SERVER_PKG_NAME="${SERVER_PKG_NAME}" -t ${IMAGE_NAME} . cd "${ROOT}" || exit 1 docker images # clean up rm -r ${IMAGE_NAME}