From c72595d396317c7f58214e9b6e2c374d2f15d78f Mon Sep 17 00:00:00 2001 From: Gabriel Sancho Date: Sat, 28 Mar 2026 03:05:05 -0300 Subject: [PATCH] fix: improve Portainer deployment script with enhanced logging and error handling --- .gitea/workflows/build.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 58172d6..0d27e4a 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -42,11 +42,18 @@ jobs: PORTAINER_ENDPOINT_ID: ${{ secrets.PORTAINER_ENDPOINT_ID }} run: | set -u + set +e + + PORTAINER_BASE_URL=$(printf '%s' "${PORTAINER_URL}" | sed -E 's/[[:space:]]+$//; s#/*$##') echo "Portainer deploy debug" echo "PORTAINER_URL=${PORTAINER_URL}" + echo "PORTAINER_BASE_URL=${PORTAINER_BASE_URL}" echo "STACK_NAME=${STACK_NAME}" echo "PORTAINER_ENDPOINT_ID=${PORTAINER_ENDPOINT_ID}" + echo "HTTP_PROXY=${HTTP_PROXY:-}" + echo "HTTPS_PROXY=${HTTPS_PROXY:-}" + echo "NO_PROXY=${NO_PROXY:-}" echo "Current runner network info:" if command -v ip >/dev/null 2>&1; then @@ -56,7 +63,7 @@ jobs: hostname -I || true fi - PORTAINER_HOST=$(printf '%s' "${PORTAINER_URL}" | sed -E 's#^[a-zA-Z]+://##; s#/.*$##; s/:.*$//') + PORTAINER_HOST=$(printf '%s' "${PORTAINER_BASE_URL}" | sed -E 's#^[a-zA-Z]+://##; s#/.*$##; s/:.*$//') echo "Resolved host target: ${PORTAINER_HOST}" if command -v getent >/dev/null 2>&1; then @@ -68,9 +75,10 @@ jobs: STACKS_ERR=$(mktemp) STACKS_HTTP_CODE=$(curl -sS \ + --noproxy "*" \ -o "${STACKS_BODY}" \ -w "%{http_code}" \ - "${PORTAINER_URL}/api/stacks" \ + "${PORTAINER_BASE_URL}/api/stacks" \ -H "X-API-Key: ${PORTAINER_API_KEY}" \ 2>"${STACKS_ERR}") STACKS_CURL_EXIT=$? @@ -105,9 +113,10 @@ jobs: '{StackFileContent: $stack_file, Env: [], Prune: false, PullImage: false}') APPLY_HTTP_CODE=$(curl -sS -X PUT \ + --noproxy "*" \ -o "${APPLY_BODY}" \ -w "%{http_code}" \ - "${PORTAINER_URL}/api/stacks/${STACK_ID}?endpointId=${PORTAINER_ENDPOINT_ID}" \ + "${PORTAINER_BASE_URL}/api/stacks/${STACK_ID}?endpointId=${PORTAINER_ENDPOINT_ID}" \ -H "X-API-Key: ${PORTAINER_API_KEY}" \ -H "Content-Type: application/json" \ -d "${PAYLOAD}" \ @@ -122,9 +131,10 @@ jobs: '{Name: $name, StackFileContent: $stack_file, Env: [], FromAppTemplate: false}') APPLY_HTTP_CODE=$(curl -sS -X POST \ + --noproxy "*" \ -o "${APPLY_BODY}" \ -w "%{http_code}" \ - "${PORTAINER_URL}/api/stacks/create/standalone/string?endpointId=${PORTAINER_ENDPOINT_ID}" \ + "${PORTAINER_BASE_URL}/api/stacks/create/standalone/string?endpointId=${PORTAINER_ENDPOINT_ID}" \ -H "X-API-Key: ${PORTAINER_API_KEY}" \ -H "Content-Type: application/json" \ -d "${PAYLOAD}" \