admin/server/build.sh
2025-06-19 21:53:00 +08:00

74 lines
1.3 KiB
Bash

#!/bin/bash
# Set Go environment variables
export GOARCH=amd64
export GOOS=linux
export CGO_ENABLED=0
# 检查并创建 bin 目录
if [ ! -d "bin" ]; then
mkdir -p bin
fi
# 定义文件名
FILE="admin"
# 删除旧的编译文件
rm -f bin/$FILE
go build -o bin/$FILE main.go
# 检查编译是否成功
if [ ! -f "bin/$FILE" ]; then
echo "build failed."
exit 1
else
echo "build success."
fi
Host="114.132.124.145"
Username="ubuntu"
Password="@qq20160101"
RemotePath="/home/ubuntu/admin"
RemoteFile="$RemotePath/$FILE"
LocalFile="bin/$FILE"
plink -ssh -batch -pw "$Password" "$Username@$Host" "rm -f '$RemoteFile'"
if [ $? -eq 0 ]; then
echo "删除文件成功"
else
echo "删除文件失败"
exit 1
fi
# 传输文件到远程主机
pscp -batch -pw "$Password" -p "config.yaml" "$Username@$Host:$RemotePath"
pscp -batch -pw "$Password" -p "$LocalFile" "$Username@$Host:$RemotePath" && \
plink -ssh -batch -pw "$Password" "$Username@$Host" "chmod +x '$RemoteFile'"
if [ $? -eq 0 ]; then
echo "上传文件成功"
else
echo "上传文件失败"
exit 1
fi
# 远程执行脚本
plink -ssh -batch -pw "$Password" "$Username@$Host" "echo '$Password' | sudo -S supervisorctl restart $FILE"
if [ $? -eq 0 ]; then
echo "远程脚本执行成功"
else
echo "远程脚本执行失败"
exit 1
fi