mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2025-10-04 05:41:58 +08:00
54 lines
1.5 KiB
Bash
Executable file
54 lines
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
#set -e
|
|
|
|
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
current_dir="$(pwd)"
|
|
|
|
images_list=()
|
|
|
|
for file in "$script_dir"/dockerfile.*.build; do
|
|
if [[ "$file" == *deb* ]] || [[ "$file" == *apk* ]] || [[ "$file" == *rpm* ]] || [[ "$file" == *www* ]]; then
|
|
continue
|
|
fi
|
|
|
|
[ -e "$file" ] || continue
|
|
|
|
filename="$(basename "$file")"
|
|
image_name=$(echo "$filename" | sed -E 's/^(dockerfile\.|Dockerfile\.)(.*)\.build$/\2/')
|
|
|
|
if [ -e builder/build/kasmvnc."$image_name".tar.gz ]; then
|
|
continue
|
|
fi
|
|
|
|
echo "Building docker image: $image_name using file: $file"
|
|
|
|
docker build -f "$file" -t "$image_name" "$current_dir"
|
|
exit_code=$?
|
|
if [ $exit_code -ne 0 ]; then
|
|
echo "Build failed for $filename"
|
|
break
|
|
fi
|
|
|
|
rm -rf .cmake CMakeFiles build.ninja cmake_install.cmake cmake_uninstall.cmake CMakeCache.txt config.h
|
|
|
|
echo "Running container from image '$image_name'"
|
|
# Run the container and capture the exit code
|
|
docker run -it -v "$current_dir":/src -v "$current_dir/builder/build":/build "$image_name"
|
|
exit_code=$?
|
|
|
|
echo "Container for image '$image_name' "
|
|
if [ $exit_code -ne 0 ]; then
|
|
echo "exited with error (exit code $exit_code)."
|
|
break
|
|
else
|
|
echo "finished successfully."
|
|
images_list+=("$image_name")
|
|
fi
|
|
done
|
|
|
|
echo "Removing all built docker images..."
|
|
for img in "${images_list[@]}"; do
|
|
echo "Removing docker image: $img"
|
|
docker rmi -f "$img"
|
|
done
|