mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-11 10:41:32 +00:00
build separate x86_64/aarch64 packages and explicitly define images
This commit is contained in:
@@ -0,0 +1 @@
|
||||
streamline-emr:2.0=registry.gitlab.com/signalytic/client-external/streamline/streamline-emr/arm64:2.0
|
||||
@@ -0,0 +1 @@
|
||||
streamline-emr:2.0=registry.gitlab.com/signalytic/client-external/streamline/streamline-emr/amd64:2.0
|
||||
+57
-38
@@ -41,51 +41,70 @@ else
|
||||
VERSION_NAME="unknown"
|
||||
fi
|
||||
|
||||
OUTPUT_NAME="$PACKAGE_NAME-$VERSION_NAME-$(arch)"
|
||||
OUTPUT_FILE="$OUTPUT_NAME.tar.bz2"
|
||||
OUTPUT_PATH="$OUTPUT_DIR/$OUTPUT_FILE"
|
||||
|
||||
# create a new temp directory to stage files
|
||||
for i in {1..9999};do
|
||||
STAGING_DIR="tmp-staging-$i"
|
||||
if [ ! -d $STAGING_DIR ]; then
|
||||
break
|
||||
# build for each relevant platform
|
||||
for platform in "linux/amd64" "linux/arm64"; do
|
||||
echo "preparing package for platform $platform"
|
||||
if [ "$platform" == "linux/amd64" ];then
|
||||
pkg_arch="x86_64"
|
||||
elif [ "$platform" == "linux/arm64" ];then
|
||||
pkg_arch="aarch64"
|
||||
else
|
||||
echo "unexpected platform '$platform'"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
if [ -d $STAGING_DIR ]; then
|
||||
echo "Failed to generate temp staging dir"
|
||||
exit 1
|
||||
fi
|
||||
OUTPUT_NAME="$PACKAGE_NAME-$VERSION_NAME-${pkg_arch}"
|
||||
OUTPUT_FILE="$OUTPUT_NAME.tar.bz2"
|
||||
OUTPUT_PATH="$OUTPUT_DIR/$OUTPUT_FILE"
|
||||
|
||||
# add files
|
||||
mkdir ${STAGING_DIR}
|
||||
cp ${PROJECT_ROOT}/install.sh ${STAGING_DIR}/
|
||||
cp -a ${PROJECT_ROOT}/root ${STAGING_DIR}/
|
||||
# create a new temp directory to stage files
|
||||
for i in {1..9999};do
|
||||
STAGING_DIR="tmp-staging-$i"
|
||||
if [ ! -d $STAGING_DIR ]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -d $STAGING_DIR ]; then
|
||||
echo "Failed to generate temp staging dir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# add images
|
||||
IMAGES_DIR=${STAGING_DIR}/images
|
||||
mkdir -p ${IMAGES_DIR}
|
||||
i=0
|
||||
for image in $(find root/ -name docker-compose.yml | xargs grep 'image:.*' | awk '{print $2}');do
|
||||
i=$((i+1))
|
||||
name="image${i}.img"
|
||||
echo "addding '$name' -> '$image'"
|
||||
docker pull $image
|
||||
docker save -o ${IMAGES_DIR}/$name $image
|
||||
done
|
||||
# add files
|
||||
mkdir ${STAGING_DIR}
|
||||
cp ${PROJECT_ROOT}/install.sh ${STAGING_DIR}/
|
||||
cp -a ${PROJECT_ROOT}/root ${STAGING_DIR}/
|
||||
|
||||
# setup output directory and cleanup old files if necessary
|
||||
mkdir -p $OUTPUT_DIR
|
||||
rm -rf $OUTPUT_PATH
|
||||
# add images
|
||||
IMAGES_DIR=${STAGING_DIR}/images
|
||||
mkdir -p ${IMAGES_DIR}
|
||||
i=0
|
||||
# read image list from file (e.g. 'images-aarch64')
|
||||
# images are listed as SAVED_TAG=SOURCE_IMAGE
|
||||
for image in $(cat ${PROJECT_ROOT}/images-${pkg_arch});do
|
||||
i=$((i+1))
|
||||
name="image${i}.img"
|
||||
path="${IMAGES_DIR}/${name}"
|
||||
IFS=\= read -r dest source <<< "${image}"
|
||||
echo "pulling image '${source}' (${platform})"
|
||||
docker pull --platform ${platform} ${source}
|
||||
echo "tagging image as '${dest}'"
|
||||
docker tag ${source} ${dest}
|
||||
echo "saving to '${path}'"
|
||||
docker save -o ${path} $dest
|
||||
done
|
||||
|
||||
pushd $STAGING_DIR > /dev/null
|
||||
tar -cjf $OUTPUT_PATH *
|
||||
popd > /dev/null
|
||||
# setup output directory and cleanup old files if necessary
|
||||
mkdir -p $OUTPUT_DIR
|
||||
rm -rf $OUTPUT_PATH
|
||||
|
||||
# cleanup staging files
|
||||
rm -r $STAGING_DIR
|
||||
pushd $STAGING_DIR > /dev/null
|
||||
tar -cjf $OUTPUT_PATH *
|
||||
popd > /dev/null
|
||||
|
||||
echo "output: $OUTPUT_PATH"
|
||||
# cleanup staging files
|
||||
rm -r $STAGING_DIR
|
||||
|
||||
echo "output: $OUTPUT_PATH"
|
||||
done
|
||||
|
||||
popd > /dev/null
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
version: '3.9'
|
||||
services:
|
||||
streamline-emr:
|
||||
image: registry.gitlab.com/signalytic/client-external/streamline/streamline-emr:2.0
|
||||
image: streamline-emr:2.0
|
||||
container_name: ${CONTAINER_NAME:-streamline-emr}
|
||||
volumes:
|
||||
- "${DATA_DIR:-/var/signalytic/clientapps/streamline/streamline-emr/data}:/var/lib/mysql"
|
||||
|
||||
Reference in New Issue
Block a user