Add remote build and deploy workflow
Some checks failed
Build and Deploy Gateway / build-and-deploy (push) Failing after 13s
Some checks failed
Build and Deploy Gateway / build-and-deploy (push) Failing after 13s
This commit is contained in:
@@ -9,12 +9,14 @@ IMAGE_NAME="${IMAGE_NAME:-vpn-proxy-gateway}"
|
|||||||
GIT_REF="$(git rev-parse --short HEAD 2>/dev/null || echo manual)"
|
GIT_REF="$(git rev-parse --short HEAD 2>/dev/null || echo manual)"
|
||||||
IMAGE_TAG="${IMAGE_TAG:-${GIT_REF}-$(date +%Y%m%d%H%M%S)}"
|
IMAGE_TAG="${IMAGE_TAG:-${GIT_REF}-$(date +%Y%m%d%H%M%S)}"
|
||||||
GATEWAY_IMAGE="${GATEWAY_IMAGE:-${IMAGE_NAME}:${IMAGE_TAG}}"
|
GATEWAY_IMAGE="${GATEWAY_IMAGE:-${IMAGE_NAME}:${IMAGE_TAG}}"
|
||||||
BASE_IMAGE="${BASE_IMAGE:-debian:bookworm-slim}"
|
BASE_IMAGE="${BASE_IMAGE:-mirror.gcr.io/library/debian:bookworm-slim}"
|
||||||
SINGBOX_VERSION="${SINGBOX_VERSION:-1.12.13}"
|
SINGBOX_VERSION="${SINGBOX_VERSION:-1.12.13}"
|
||||||
|
DOCKER_BUILD_PULL="${DOCKER_BUILD_PULL:-false}"
|
||||||
|
|
||||||
echo "Build host: ${BUILD_HOST}"
|
echo "Build host: ${BUILD_HOST}"
|
||||||
echo "Deploy host: ${DEPLOY_HOST}"
|
echo "Deploy host: ${DEPLOY_HOST}"
|
||||||
echo "Image: ${GATEWAY_IMAGE}"
|
echo "Image: ${GATEWAY_IMAGE}"
|
||||||
|
echo "Base image: ${BASE_IMAGE}"
|
||||||
|
|
||||||
echo "Syncing source to ${BUILD_HOST}:${BUILD_PATH}"
|
echo "Syncing source to ${BUILD_HOST}:${BUILD_PATH}"
|
||||||
ssh "${BUILD_HOST}" "mkdir -p '${BUILD_PATH}'"
|
ssh "${BUILD_HOST}" "mkdir -p '${BUILD_PATH}'"
|
||||||
@@ -27,7 +29,7 @@ rsync -az --delete \
|
|||||||
|
|
||||||
echo "Building image on ${BUILD_HOST}"
|
echo "Building image on ${BUILD_HOST}"
|
||||||
ssh "${BUILD_HOST}" \
|
ssh "${BUILD_HOST}" \
|
||||||
"cd '${BUILD_PATH}' && npm ci && npm run build && docker build --pull --build-arg BASE_IMAGE='${BASE_IMAGE}' --build-arg SINGBOX_VERSION='${SINGBOX_VERSION}' -t '${GATEWAY_IMAGE}' ."
|
"set -e; echo 'Docker context:' \$(docker context show 2>/dev/null || true); docker info 2>/dev/null | sed -n '/HTTP Proxy:/p;/HTTPS Proxy:/p;/Name:/p'; cd '${BUILD_PATH}' && npm ci && npm run build && docker build --pull='${DOCKER_BUILD_PULL}' --build-arg BASE_IMAGE='${BASE_IMAGE}' --build-arg SINGBOX_VERSION='${SINGBOX_VERSION}' -t '${GATEWAY_IMAGE}' ."
|
||||||
|
|
||||||
echo "Loading image into ${DEPLOY_HOST}"
|
echo "Loading image into ${DEPLOY_HOST}"
|
||||||
ssh "${BUILD_HOST}" "docker save '${GATEWAY_IMAGE}'" | ssh "${DEPLOY_HOST}" "docker load"
|
ssh "${BUILD_HOST}" "docker save '${GATEWAY_IMAGE}'" | ssh "${DEPLOY_HOST}" "docker load"
|
||||||
|
|||||||
Reference in New Issue
Block a user