diff --git a/godo/install.linux.sh b/godo/install.linux.sh new file mode 100644 index 0000000..3168996 --- /dev/null +++ b/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 服务已安装并启动" \ No newline at end of file diff --git a/godo/quick_build.sh b/godo/quick_build.sh new file mode 100755 index 0000000..49e19e9 --- /dev/null +++ b/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."