-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild-zip.sh
More file actions
executable file
·53 lines (42 loc) · 1.92 KB
/
build-zip.sh
File metadata and controls
executable file
·53 lines (42 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
set -e
# Build script for NodeODM LS6 ZIP package (minimal version)
# This creates a ZIP with just the run.sh script since we use apptainer to run the NodeODM container
PACKAGE_NAME="nodeodm-ls6.zip"
if [ ! -d nodeodm-source ] || [ ! -f nodeodm-source/package.json ]; then
echo "ERROR: nodeodm-source directory missing or incomplete (package.json not found)."
echo "Populate nodeodm-source/ with the NodeODM repository (e.g. rsync from WebODM or git clone https://github.com/OpenDroneMap/NodeODM.git) before running this script."
exit 1
fi
echo "Building NodeODM LS6 ZIP package (full)..."
# Clean up any existing files
rm -f $PACKAGE_NAME
# Create ZIP package with all necessary files including webhook scripts
echo "Creating ZIP package..."
zip -r $PACKAGE_NAME tapisjob_app.sh app.json README-ZIP.md register-node.sh deregister-node.sh nodeodm-source \
-x "nodeodm-source/.git/*" \
-x "nodeodm-source/node_modules/*"
echo "ZIP package created: $PACKAGE_NAME"
echo "Size: $(ls -lh $PACKAGE_NAME | awk '{print $5}')"
echo ""
echo "Contents:"
unzip -l $PACKAGE_NAME
echo ""
echo "This ZIP contains:"
echo "- tapisjob_app.sh: Main execution script that uses 'module load tacc-apptainer'"
echo "- app.json: Tapis app definition"
echo "- README-ZIP.md: Documentation"
echo "- register-node.sh: Webhook registration script for ClusterODM"
echo "- deregister-node.sh: Webhook de-registration script for ClusterODM"
echo "- nodeodm-source/: NodeODM source code synced into the runtime"
echo ""
echo "How it works:"
echo "1. Tapis extracts this ZIP on the compute node"
echo "2. run.sh runs with access to TACC module system"
echo "3. run.sh loads tacc-apptainer module and launches NodeODM container"
echo "4. This avoids nested container issues"
echo ""
echo "Next steps:"
echo "1. Upload $PACKAGE_NAME to a publicly accessible URL"
echo "2. Update the containerImage in app.json to point to that URL"
echo "3. Register the app with Tapis"