Files
user-microservice-deploy/.woodpecker/build.yaml
pikram 701972ae03
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Increased healthcheck probes
2025-07-26 14:45:55 +00:00

46 lines
1.4 KiB
YAML

when:
- event: push
branch: woodpecker-deploy
steps:
- name: 'Deploy user microservice'
image: marcin00.azurecr.io/azure-cli-kubectl:latest
environment:
CLIENT_ID: 'c302726f-fafb-4143-94c1-67a70975574a'
CLUSTER_NAME: 'build'
DEPLOY_FILES: 'namespace.yaml secret-store.yaml deploy.yaml ingress.yaml'
DEPLOYMENT: 'api'
HEALTHCHECK_URL: 'https://user-microservice.marcin00.pl/health'
NAMESPACE: 'user-microservice'
RESOURCE_GROUP: 'tst-aks-rg'
commands:
# Login to Azure & Get Kubeconfig
- az login --identity --client-id $CLIENT_ID
- az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --overwrite-existing
- kubelogin convert-kubeconfig -l azurecli
# Apply Kubernetes Resources
- |
for file in $DEPLOY_FILES; do
kubectl apply -f "$file"
done
# Verify Deployment (waiting until all pods reach "ready" status)
- echo "Waiting for deployment rollout..."
- kubectl rollout status deployment/$DEPLOYMENT -n $NAMESPACE --timeout=60s
# Health Check
- |
echo "Checking app health $HEALTHCHECK_URL..."
for i in {1..120}; do
if curl -sf $HEALTHCHECK_URL; then
echo "Health check OK"
exit 0
else
echo "Health check failed. Retry \$i..."
sleep 5
fi
done
echo "Health check failed."
exit 1