代码拉取完成,页面将自动刷新
同步操作将从 goploy/goploy-agent 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/bin/bash
# 获取当前脚本所在文件路径
curr_dir=$(cd `dirname $0`; pwd)
cd $curr_dir
exec_name=goploy-agent
version=""
to_commit=0
to_build_all_os=0
to_build_web=0
#echo begin $version
while getopts "v:caw" opt; do
case $opt in
v)
version=$OPTARG
;;
c)
to_commit=1
;;
a)
to_build_all_os=1
;;
w)
to_build_web=1
;;
\?)
echo "Invalid option: -$OPTARG"
;;
esac
done
main_file=main.go
web_file=web/package.json
if [[ $version =~ ^[1-9].[0-9].[0-9]$ ]]
then
sed -i -e "s/const appVersion = \"[0-9].[0-9].[0-9]\"/const appVersion = \"$version\"/g" $main_file
sed -i -e "s/\"version\": \"[0-9].[0-9].[0-9]\",/\"version\": \"$version\",/g" $web_file
fi
if [ $to_build_web -ne 0 ];then
cd web
npm run build
cd ..
fi
echo "Building $exec_name";
if [ $to_build_all_os -eq 0 ];then
env GOOS=linux go build -o $exec_name $main_file
else
env GOOS=linux go build -o $exec_name $main_file
env GOOS=darwin go build -o $exec_name.mac $main_file
env GOOS=windows go build -o $exec_name.exe $main_file
fi
# 将需要的文件统一打包,方便解压运行
# 删除原本生成的中间目录
pack_name=pack
pack_middle_dir=$curr_dir/$pack_name
if [ -d $pack_middle_dir ];then
rm -rf $pack_middle_dir
fi
mkdir $pack_middle_dir
src_dist_dir=$curr_dir/web/dist
if [ ! -d $src_dist_dir ];then
echo "$src_dist_dir not exists!"
exit 1
fi
cp -rf $src_dist_dir $pack_middle_dir/
service_name=$exec_name.service
setuprun_name=setuprun.sh
cp -f $curr_dir/$service_name $pack_middle_dir/
cp -f $curr_dir/$setuprun_name $pack_middle_dir/
# 依据参数值进行可执行文件拷贝操作
if [ $to_build_all_os -eq 0 ];then
cp -f $curr_dir/$exec_name $pack_middle_dir/
exec_info="$exec_name"
else
cp -f $curr_dir/$exec_name $pack_middle_dir/
cp -f $curr_dir/$exec_name.mac $pack_middle_dir/
cp -f $curr_dir/$exec_name.exe $pack_middle_dir/
exec_info="$exec_name $exec_name.mac $exec_name.exe"
fi
cd $pack_middle_dir
target_pack_path=$curr_dir/$exec_name.tar.gz
if [ -f $target_pack_path ];then
rm -f $target_pack_path
fi
tar -zcvf $target_pack_path $service_name $setuprun_name $exec_info dist
cd $curr_dir
rm -rf $pack_middle_dir
if [ $to_commit -eq 0 ];then
git checkout -- $main_file
git checkout -- $web_file
# echo "no commit"
else
# echo "to commit"
git add $main_file
git add $web_file
git commit -m"1.更新系统版本号。"
git pull
git push
fi
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。