fix: streamline Kubernetes deployment process by removing SSH and adding kubectl installation
This commit is contained in:
@@ -136,26 +136,27 @@ jobs:
|
||||
|
||||
- name: Deploy to Kubernetes
|
||||
run: |
|
||||
echo "🚀 Deploying to Kubernetes via SSH..."
|
||||
echo "🚀 Deploying to Kubernetes..."
|
||||
|
||||
# Install SSH client
|
||||
apk add --no-cache openssh-client sshpass
|
||||
# Install kubectl
|
||||
apk add --no-cache curl
|
||||
curl -LO "https://dl.k8s.io/release/v1.28.0/bin/linux/amd64/kubectl"
|
||||
chmod +x kubectl && mv kubectl /usr/local/bin/
|
||||
|
||||
# Deploy via SSH to k8s master
|
||||
export SSHPASS="${{ secrets.SERVER_PASSWORD }}"
|
||||
sshpass -e ssh -o StrictHostKeyChecking=no root@${{ env.K8S_SERVER }} "
|
||||
set -e
|
||||
echo '🔄 Restarting deployment to pull latest image...'
|
||||
# Setup kubeconfig
|
||||
mkdir -p ~/.kube
|
||||
echo "${{ secrets.KUBECONFIG }}" | base64 -d > ~/.kube/config
|
||||
|
||||
kubectl rollout restart deployment/cms
|
||||
# Deploy
|
||||
echo '🔄 Restarting deployment...'
|
||||
kubectl rollout restart deployment/cms
|
||||
|
||||
echo '⏳ Waiting for rollout...'
|
||||
kubectl rollout status deployment/cms --timeout=180s
|
||||
echo '⏳ Waiting for rollout...'
|
||||
kubectl rollout status deployment/cms --timeout=180s
|
||||
|
||||
echo ''
|
||||
echo '✅ Deployment successful!'
|
||||
kubectl get pods -l app=cms -o wide
|
||||
"
|
||||
echo ''
|
||||
echo '✅ Deployment successful!'
|
||||
kubectl get pods -l app=cms -o wide
|
||||
|
||||
- name: Build and Push Complete
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user