Browse Source

add build sh

master
godo 6 months ago
parent
commit
e08e43f558
  1. 52
      godo/install.linux.sh
  2. 14
      godo/quick_build.sh

52
godo/install.linux.sh

@ -0,0 +1,52 @@
#!/bin/bash
# 定义变量
SERVICE_NAME="godoos"
SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME.service"
WORKING_DIRECTORY=$(dirname "$0")
EXEC_START="$WORKING_DIRECTORY/godo"
LOG_FILE="$WORKING_DIRECTORY/godoos.log"
# 创建 systemd 服务单元文件内容
SERVICE_CONTENT="[Unit]
Description=GodoOS Service
After=network.target
[Service]
Type=simple
WorkingDirectory=$WORKING_DIRECTORY
ExecStart=$EXEC_START
Restart=on-failure
StandardOutput=append:$LOG_FILE
StandardError=append:$LOG_FILE
[Install]
WantedBy=multi-user.target"
# 检查工作目录和可执行文件是否存在
if [ ! -d "$WORKING_DIRECTORY" ]; then
echo "错误: 工作目录 $WORKING_DIRECTORY 不存在。请检查路径。"
exit 1
fi
if [ ! -x "$EXEC_START" ]; then
echo "错误: 可执行文件 $EXEC_START 不存在或不可执行。请检查路径。"
exit 1
fi
# 创建服务单元文件
echo "创建服务单元文件 $SERVICE_FILE"
echo "$SERVICE_CONTENT" | sudo tee $SERVICE_FILE > /dev/null
# 重新加载 systemd 配置
echo "重新加载 systemd 配置"
sudo systemctl daemon-reload
# 启动并启用服务
echo "启动 $SERVICE_NAME 服务"
sudo systemctl start $SERVICE_NAME
echo "启用 $SERVICE_NAME 服务在启动时自动运行"
sudo systemctl enable $SERVICE_NAME
echo "$SERVICE_NAME 服务已安装并启动"

14
godo/quick_build.sh

@ -0,0 +1,14 @@
#!/bin/bash
# 获取用户输入的平台和架构,默认为当前系统平台和架构
GOOS=${1:-$(go env GOOS)}
GOARCH=${2:-$(go env GOARCH)}
# 设置二进制文件的输出名称
BINARY_NAME="godo"
# 编译项目
echo "Building $BINARY_NAME for $GOOS/$GOARCH..."
go build -ldflags="-s -w" -o $BINARY_NAME
echo "Build completed."
Loading…
Cancel
Save