fix: use rollout restart for simpler deployment
This commit is contained in:
@@ -141,30 +141,23 @@ jobs:
|
||||
# Install SSH client
|
||||
apk add --no-cache openssh-client sshpass
|
||||
|
||||
# Set variables
|
||||
IMAGE_TAG="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}"
|
||||
|
||||
# Deploy via SSH to k8s master
|
||||
export SSHPASS="${{ secrets.SERVER_PASSWORD }}"
|
||||
sshpass -e ssh -o StrictHostKeyChecking=no root@${{ env.K8S_SERVER }} "
|
||||
set -e
|
||||
echo '📦 Updating deployment...'
|
||||
echo '🔄 Restarting deployment to pull latest image...'
|
||||
|
||||
# Update image
|
||||
kubectl set image deployment/cms cms=${IMAGE_TAG} --record 2>/dev/null || \
|
||||
kubectl set image deployment/cms cms=${IMAGE_TAG}
|
||||
kubectl rollout restart deployment/cms
|
||||
|
||||
# Wait for rollout
|
||||
echo '⏳ Waiting for rollout...'
|
||||
kubectl rollout status deployment/cms --timeout=180s
|
||||
|
||||
echo ''
|
||||
echo '✅ Deployment successful!'
|
||||
echo '📊 Pod status:'
|
||||
kubectl get pods -l app=cms -o wide
|
||||
"
|
||||
|
||||
- name: Build and Push Complete
|
||||
run: |
|
||||
echo "🎉 Build, Push, and Deploy completed successfully!"
|
||||
echo "📦 Image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}"
|
||||
echo "📦 Image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest"
|
||||
|
||||
Reference in New Issue
Block a user