39 lines
922 B
Bash
39 lines
922 B
Bash
#!/bin/bash
|
|
|
|
# 判断 app 用户是否存在
|
|
if id "appruner" >/dev/null 2>&1; then
|
|
echo "User appruner exists."
|
|
else
|
|
# 创建 app 用户
|
|
echo "Creating user appruner..."
|
|
sudo useradd -m -s /bin/bash appruner
|
|
fi
|
|
|
|
|
|
# 获取当前目录的绝对路径
|
|
app_path=$(cd "$(dirname "$0")"; pwd)
|
|
app_name=$(basename "${app_path}")
|
|
|
|
# 执行 git pull 命令
|
|
# 判断目录是否存在 .git 文件夹
|
|
if [ -d "$app_path/.git" ]; then
|
|
cd ${app_path} && git pull
|
|
fi
|
|
|
|
# 执行 go build 命令
|
|
cd ${app_path} && go build -o app
|
|
|
|
sudo cp app.service.example ${app_name}.service
|
|
|
|
# 替换 app.service 文件中的 APP_PATH
|
|
sed -i "s|APP_PATH|${app_path}|g" ${app_name}.service
|
|
|
|
sudo mv ${app_name}.service /etc/systemd/system/${app_name}.service
|
|
|
|
# 重新加载 systemd 配置文件
|
|
sudo systemctl daemon-reload
|
|
|
|
# 重新启动应用程序服务
|
|
sudo systemctl stop ${app_name}.service
|
|
sudo systemctl start ${app_name}.service
|