2026-06-05 20:15:30 +08:00
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
|
|
KEY="$HOME/.ssh/aws_eafon.pem"
|
2026-06-08 14:52:23 +08:00
|
|
|
|
REMOTE_DIR="/data/project/app-api/"
|
|
|
|
|
|
|
|
|
|
|
|
SERVER="api1"
|
|
|
|
|
|
if [ $# -gt 0 ] && { [ "$1" = "api1" ] || [ "$1" = "api2" ]; }; then
|
|
|
|
|
|
SERVER="$1"
|
|
|
|
|
|
shift
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
case "$SERVER" in
|
|
|
|
|
|
api1)
|
|
|
|
|
|
REMOTE_HOST="ubuntu@ec2-18-184-205-87.eu-central-1.compute.amazonaws.com"
|
|
|
|
|
|
;;
|
|
|
|
|
|
api2)
|
|
|
|
|
|
REMOTE_HOST="ubuntu@ec2-3-71-153-45.eu-central-1.compute.amazonaws.com"
|
|
|
|
|
|
;;
|
|
|
|
|
|
*)
|
|
|
|
|
|
echo "未知服务器: $SERVER(可选: api1, api2)" >&2
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
;;
|
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|
|
REMOTE="${REMOTE_HOST}:${REMOTE_DIR}"
|
2026-06-05 20:15:30 +08:00
|
|
|
|
|
|
|
|
|
|
if [ $# -eq 0 ]; then
|
|
|
|
|
|
PATHS=(
|
|
|
|
|
|
./cmd/
|
|
|
|
|
|
./internal/
|
|
|
|
|
|
./pkg
|
|
|
|
|
|
./go.mod
|
|
|
|
|
|
./go.sum
|
|
|
|
|
|
./Dockerfile
|
|
|
|
|
|
./docker-compose.yml
|
|
|
|
|
|
)
|
|
|
|
|
|
else
|
|
|
|
|
|
PATHS=("$@")
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2026-06-08 14:52:23 +08:00
|
|
|
|
echo "上传到 ${SERVER} (${REMOTE_HOST}) ..."
|
2026-06-05 20:15:30 +08:00
|
|
|
|
scp -i "$KEY" -r "${PATHS[@]}" "$REMOTE"
|