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