infra: container-only workflow (packaging image + scripts); README: add No Host Pollution policy
This commit is contained in:
10
scripts/packaging-enter.sh
Executable file
10
scripts/packaging-enter.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
NAME=${PACKAGING_CONTAINER_NAME:-tsys-cloudron-packaging}
|
||||
|
||||
if ! docker ps --format '{{.Names}}' | grep -qx "$NAME"; then
|
||||
scripts/packaging-up.sh >/dev/null
|
||||
fi
|
||||
|
||||
exec docker exec -it "$NAME" bash
|
||||
|
15
scripts/packaging-exec.sh
Executable file
15
scripts/packaging-exec.sh
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
NAME=${PACKAGING_CONTAINER_NAME:-tsys-cloudron-packaging}
|
||||
|
||||
if [[ $# -lt 1 ]]; then
|
||||
echo "Usage: scripts/packaging-exec.sh <command...>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! docker ps --format '{{.Names}}' | grep -qx "$NAME"; then
|
||||
scripts/packaging-up.sh >/dev/null
|
||||
fi
|
||||
|
||||
exec docker exec -it "$NAME" sh -lc "$*"
|
||||
|
30
scripts/packaging-up.sh
Executable file
30
scripts/packaging-up.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
NAME=${PACKAGING_CONTAINER_NAME:-tsys-cloudron-packaging}
|
||||
IMAGE=${PACKAGING_IMAGE:-knel/packaging:latest}
|
||||
DOCKERFILE=${PACKAGING_DOCKERFILE:-docker/packaging/Dockerfile}
|
||||
|
||||
if ! docker image inspect "$IMAGE" >/dev/null 2>&1; then
|
||||
echo "Building packaging image: $IMAGE"
|
||||
docker build -t "$IMAGE" -f "$DOCKERFILE" .
|
||||
fi
|
||||
|
||||
if ! docker ps -a --format '{{.Names}}' | grep -qx "$NAME"; then
|
||||
echo "Creating container: $NAME"
|
||||
docker run -d \
|
||||
--name "$NAME" \
|
||||
-v "$PWD":/workspace \
|
||||
-w /workspace \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
"$IMAGE"
|
||||
else
|
||||
# Ensure it is running
|
||||
if ! docker ps --format '{{.Names}}' | grep -qx "$NAME"; then
|
||||
echo "Starting container: $NAME"
|
||||
docker start "$NAME"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Packaging container ready: $NAME (image: $IMAGE)"
|
||||
|
6
scripts/workspace-clone.sh
Executable file
6
scripts/workspace-clone.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Run the clone script inside the packaging container
|
||||
scripts/packaging-exec.sh "cd PackagingForCloudronWorkspace && chmod +x *.sh && ./UpstreamVendor-Clone.sh"
|
||||
|
6
scripts/workspace-update.sh
Executable file
6
scripts/workspace-update.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Run the update script inside the packaging container
|
||||
scripts/packaging-exec.sh "cd PackagingForCloudronWorkspace && chmod +x *.sh && ./UpstreamVendor-Update.sh"
|
||||
|
Reference in New Issue
Block a user