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
|
- name: Deploy to Kubernetes
|
||||||
run: |
|
run: |
|
||||||
echo "🚀 Deploying to Kubernetes via SSH..."
|
echo "🚀 Deploying to Kubernetes..."
|
||||||
|
|
||||||
# Install SSH client
|
# Install kubectl
|
||||||
apk add --no-cache openssh-client sshpass
|
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
|
# Setup kubeconfig
|
||||||
export SSHPASS="${{ secrets.SERVER_PASSWORD }}"
|
mkdir -p ~/.kube
|
||||||
sshpass -e ssh -o StrictHostKeyChecking=no root@${{ env.K8S_SERVER }} "
|
echo "${{ secrets.KUBECONFIG }}" | base64 -d > ~/.kube/config
|
||||||
set -e
|
|
||||||
echo '🔄 Restarting deployment to pull latest image...'
|
|
||||||
|
|
||||||
kubectl rollout restart deployment/cms
|
# Deploy
|
||||||
|
echo '🔄 Restarting deployment...'
|
||||||
|
kubectl rollout restart deployment/cms
|
||||||
|
|
||||||
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!'
|
||||||
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: |
|
||||||
|
|||||||
Reference in New Issue
Block a user