Files
rails-app/build-and-push.sh

35 lines
1.1 KiB
Bash
Executable File

#!/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'"