fix: Gitea Traefik routing and connection pool optimization
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
- Remove middleware reference from Gitea Traefik labels (caused routing issues) - Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s) - Add explicit service reference in Traefik labels - Fix intermittent 504 timeouts by improving PostgreSQL connection handling Fixes Gitea unreachability via git.michaelschiemer.de
This commit is contained in:
@@ -124,33 +124,14 @@ jobs:
|
||||
chmod 600 /tmp/vault_pass
|
||||
fi
|
||||
|
||||
- name: Deploy Application Code to Staging
|
||||
- name: Deploy to Staging (Complete)
|
||||
run: |
|
||||
cd /workspace/repo/deployment/ansible
|
||||
ansible-playbook -i inventory/production.yml \
|
||||
playbooks/deploy-application-code.yml \
|
||||
playbooks/deploy-complete.yml \
|
||||
-e "deployment_environment=staging" \
|
||||
-e "deployment_hosts=production" \
|
||||
-e "git_branch=${{ steps.branch.outputs.BRANCH }}" \
|
||||
--vault-password-file /tmp/vault_pass \
|
||||
--private-key ~/.ssh/production
|
||||
|
||||
- name: Install Composer Dependencies
|
||||
run: |
|
||||
cd /workspace/repo/deployment/ansible
|
||||
ansible-playbook -i inventory/production.yml \
|
||||
playbooks/install-composer-dependencies.yml \
|
||||
-e "deployment_environment=staging" \
|
||||
--vault-password-file /tmp/vault_pass \
|
||||
--private-key ~/.ssh/production
|
||||
|
||||
- name: Deploy Docker Image to Staging
|
||||
run: |
|
||||
cd /workspace/repo/deployment/ansible
|
||||
ansible-playbook -i inventory/production.yml \
|
||||
playbooks/deploy-image.yml \
|
||||
-e "deployment_environment=staging" \
|
||||
-e "deployment_hosts=production" \
|
||||
-e "image_tag=${{ needs.determine-image.outputs.image_tag }}" \
|
||||
-e "docker_registry=${{ needs.determine-image.outputs.registry_host }}" \
|
||||
-e "docker_registry_username=${{ secrets.REGISTRY_USER }}" \
|
||||
@@ -164,15 +145,24 @@ jobs:
|
||||
- name: Health check
|
||||
id: health
|
||||
run: |
|
||||
for i in {1..10}; do
|
||||
if curl -f -k https://staging.michaelschiemer.de/health; then
|
||||
echo "✅ Health check passed"
|
||||
echo "🔍 Performing health checks with exponential backoff..."
|
||||
DELAY=2
|
||||
MAX_DELAY=60
|
||||
MAX_ATTEMPTS=5
|
||||
|
||||
for i in $(seq 1 $MAX_ATTEMPTS); do
|
||||
if curl -f -k -s https://staging.michaelschiemer.de/health > /dev/null 2>&1; then
|
||||
echo "✅ Health check passed (attempt $i/$MAX_ATTEMPTS)"
|
||||
exit 0
|
||||
fi
|
||||
echo "⏳ Waiting for staging service... (attempt $i/10)"
|
||||
sleep 10
|
||||
if [ $i -lt $MAX_ATTEMPTS ]; then
|
||||
echo "⏳ Waiting for staging service... (attempt $i/$MAX_ATTEMPTS, delay ${DELAY}s)"
|
||||
sleep $DELAY
|
||||
DELAY=$((DELAY * 2))
|
||||
[ $DELAY -gt $MAX_DELAY ] && DELAY=$MAX_DELAY
|
||||
fi
|
||||
done
|
||||
echo "❌ Health check failed"
|
||||
echo "❌ Health check failed after $MAX_ATTEMPTS attempts"
|
||||
exit 1
|
||||
|
||||
- name: Notify deployment success
|
||||
@@ -187,6 +177,9 @@ jobs:
|
||||
needs: determine-image
|
||||
if: inputs.environment == 'production'
|
||||
runs-on: ubuntu-latest
|
||||
concurrency:
|
||||
group: deploy-production
|
||||
cancel-in-progress: false
|
||||
environment:
|
||||
name: production
|
||||
url: https://michaelschiemer.de
|
||||
@@ -243,33 +236,14 @@ jobs:
|
||||
chmod 600 /tmp/vault_pass
|
||||
fi
|
||||
|
||||
- name: Deploy Application Code to Production
|
||||
- name: Deploy to Production (Complete)
|
||||
run: |
|
||||
cd /workspace/repo/deployment/ansible
|
||||
ansible-playbook -i inventory/production.yml \
|
||||
playbooks/deploy-application-code.yml \
|
||||
playbooks/deploy-complete.yml \
|
||||
-e "deployment_environment=production" \
|
||||
-e "deployment_hosts=production" \
|
||||
-e "git_branch=${{ steps.branch.outputs.BRANCH }}" \
|
||||
--vault-password-file /tmp/vault_pass \
|
||||
--private-key ~/.ssh/production
|
||||
|
||||
- name: Install Composer Dependencies
|
||||
run: |
|
||||
cd /workspace/repo/deployment/ansible
|
||||
ansible-playbook -i inventory/production.yml \
|
||||
playbooks/install-composer-dependencies.yml \
|
||||
-e "deployment_environment=production" \
|
||||
--vault-password-file /tmp/vault_pass \
|
||||
--private-key ~/.ssh/production
|
||||
|
||||
- name: Deploy Docker Image to Production
|
||||
run: |
|
||||
cd /workspace/repo/deployment/ansible
|
||||
ansible-playbook -i inventory/production.yml \
|
||||
playbooks/deploy-image.yml \
|
||||
-e "deployment_environment=production" \
|
||||
-e "deployment_hosts=production" \
|
||||
-e "image_tag=${{ needs.determine-image.outputs.image_tag }}" \
|
||||
-e "docker_registry=${{ needs.determine-image.outputs.registry_host }}" \
|
||||
-e "docker_registry_username=${{ secrets.REGISTRY_USER }}" \
|
||||
@@ -283,15 +257,24 @@ jobs:
|
||||
- name: Health check
|
||||
id: health
|
||||
run: |
|
||||
for i in {1..10}; do
|
||||
if curl -f -k https://michaelschiemer.de/health; then
|
||||
echo "✅ Health check passed"
|
||||
echo "🔍 Performing health checks with exponential backoff..."
|
||||
DELAY=2
|
||||
MAX_DELAY=60
|
||||
MAX_ATTEMPTS=5
|
||||
|
||||
for i in $(seq 1 $MAX_ATTEMPTS); do
|
||||
if curl -f -k -s https://michaelschiemer.de/health > /dev/null 2>&1; then
|
||||
echo "✅ Health check passed (attempt $i/$MAX_ATTEMPTS)"
|
||||
exit 0
|
||||
fi
|
||||
echo "⏳ Waiting for production service... (attempt $i/10)"
|
||||
sleep 10
|
||||
if [ $i -lt $MAX_ATTEMPTS ]; then
|
||||
echo "⏳ Waiting for production service... (attempt $i/$MAX_ATTEMPTS, delay ${DELAY}s)"
|
||||
sleep $DELAY
|
||||
DELAY=$((DELAY * 2))
|
||||
[ $DELAY -gt $MAX_DELAY ] && DELAY=$MAX_DELAY
|
||||
fi
|
||||
done
|
||||
echo "❌ Health check failed"
|
||||
echo "❌ Health check failed after $MAX_ATTEMPTS attempts"
|
||||
exit 1
|
||||
|
||||
- name: Notify deployment success
|
||||
|
||||
Reference in New Issue
Block a user