#!/bin/bash # 快速构建和推送镜像脚本 set -e echo "🔨 构建Docker镜像..." SSH_PASS="1" APP_DIR="/home/fei/opk3s/app-project/001-rails8" cd "$APP_DIR" # 上传文件到master节点 echo "📤 上传文件到master节点..." sshpass -p "$SSH_PASS" ssh fei@149.13.91.216 "mkdir -p /tmp/rails-app" sshpass -p "$SSH_PASS" scp -r ./* fei@149.13.91.216:/tmp/rails-app/ # 构建镜像 echo "🔨 构建Docker镜像..." sshpass -p "$SSH_PASS" ssh fei@149.13.91.216 "cd /tmp/rails-app && \ echo '$SSH_PASS' | sudo -S docker build -t rails-app:latest . && \ echo '$SSH_PASS' | sudo -S ctr -n k8s.io images import <(sudo docker save rails-app:latest)" echo "✅ 镜像构建完成" # 重启Pod echo "🔄 重启Rails应用..." sshpass -p "$SSH_PASS" ssh fei@149.13.91.216 "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml && \ kubectl rollout restart deployment/rails-app -n rails-app" echo "✅ 应用已重启" echo "" echo "💡 查看日志:" echo " sshpass -p '1' ssh fei@149.13.91.216 'export KUBECONFIG=/etc/rancher/k3s/k3s.yaml && kubectl logs -n rails-app -l app=rails-app -f'"