Initial commit
This commit is contained in:
commit
960e9e0ff8
20 changed files with 877 additions and 0 deletions
60
build.sh
Executable file
60
build.sh
Executable file
|
|
@ -0,0 +1,60 @@
|
|||
#!/bin/bash
|
||||
|
||||
# --- Configuration ---
|
||||
IMAGE_NAME="workit"
|
||||
TAG="latest"
|
||||
OUTPUT_FILE="workit-amd64.tar"
|
||||
TARGET_PLATFORM="linux/amd64"
|
||||
BUILD_DIR="public_build"
|
||||
|
||||
# --- Script Start ---
|
||||
echo "--- Preparing build directory ---"
|
||||
# Clean up previous build directory if it exists
|
||||
rm -rf ${BUILD_DIR}
|
||||
# Create a temporary build directory to avoid modifying source files
|
||||
cp -r public ${BUILD_DIR}
|
||||
|
||||
# Step 1: Run the Node.js script to inline audio files.
|
||||
# This modifies the app.js inside the temporary BUILD_DIR.
|
||||
echo ""
|
||||
node scripts/inline-audio.js
|
||||
|
||||
# Check if the node script was successful.
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "!!! Audio inlining failed. Aborting build."
|
||||
rm -rf ${BUILD_DIR} # Clean up
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "--- Starting Docker image build for ${TARGET_PLATFORM} ---"
|
||||
|
||||
# Step 2: Build the multi-platform image using the modified files.
|
||||
docker buildx build --platform ${TARGET_PLATFORM} -t ${IMAGE_NAME}:${TAG} --load .
|
||||
|
||||
# Check if the build command was successful.
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "!!! Docker build failed. Aborting script."
|
||||
rm -rf ${BUILD_DIR} # Clean up
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Step 3: Clean up the temporary build directory.
|
||||
echo ""
|
||||
echo "--- Cleaning up build directory ---"
|
||||
rm -rf ${BUILD_DIR}
|
||||
|
||||
echo ""
|
||||
echo "--- Build successful. Saving image to ${OUTPUT_FILE} ---"
|
||||
|
||||
# Step 4: Save the newly created image to a .tar archive.
|
||||
docker save -o ${OUTPUT_FILE} ${IMAGE_NAME}:${TAG}
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "!!! Failed to save Docker image. Aborting script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✅ Done!"
|
||||
echo "Image has been saved to: ${OUTPUT_FILE}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue