mirror of https://github.com/bjdgyc/anylink.git
74 lines
1.6 KiB
Bash
74 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
#github action release.sh
|
|
|
|
set -x
|
|
function RETVAL() {
|
|
rt=$1
|
|
if [ $rt != 0 ]; then
|
|
echo $rt
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
#当前目录
|
|
cpath=$(pwd)
|
|
|
|
ver=$(cat version)
|
|
echo $ver
|
|
|
|
#前端编译 仅需要执行一次
|
|
#bash ./build_web.sh
|
|
|
|
echo "copy二进制文件"
|
|
|
|
# -tags osusergo,netgo,sqlite_omit_load_extension
|
|
flags="-trimpath"
|
|
ldflags="-s -w -extldflags '-static' -X main.appVer=$ver -X main.commitId=$(git rev-parse HEAD) -X main.buildDate=$(date --iso-8601=seconds)"
|
|
#github action
|
|
gopath=/go
|
|
|
|
dockercmd=$(
|
|
cat <<EOF
|
|
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
|
|
apk add gcc g++ musl musl-dev tzdata
|
|
export GOPROXY=https://goproxy.cn
|
|
go mod tidy
|
|
echo "build:"
|
|
rm anylink
|
|
export CGO_ENABLED=1
|
|
go build -v -o anylink $flags -ldflags "$ldflags"
|
|
./anylink -v
|
|
EOF
|
|
)
|
|
|
|
# golang:1.20-alpine3.19
|
|
#使用 musl-dev 编译
|
|
docker run -q --rm -v $PWD/server:/app -v $gopath:/go -w /app --platform=linux/amd64 \
|
|
golang:1.22-alpine3.19 sh -c "$dockercmd"
|
|
|
|
#arm64编译
|
|
#docker run -q --rm -v $PWD/server:/app -v $gopath:/go -w /app --platform=linux/arm64 \
|
|
# golang:1.20-alpine3.19 go build -o anylink_arm64 $flags -ldflags "$ldflags"
|
|
#exit 0
|
|
|
|
#cd $cpath
|
|
|
|
echo "整理部署文件"
|
|
rm -rf anylink-deploy anylink-deploy.tar.gz
|
|
mkdir anylink-deploy
|
|
mkdir anylink-deploy/log
|
|
|
|
cp -r server/anylink anylink-deploy
|
|
cp -r server/conf anylink-deploy
|
|
|
|
cp -r index_template anylink-deploy
|
|
cp -r deploy anylink-deploy
|
|
cp -r LICENSE anylink-deploy
|
|
|
|
tar zcvf anylink-deploy.tar.gz anylink-deploy
|
|
|
|
#注意使用root权限运行
|
|
#cd anylink-deploy
|
|
#sudo ./anylink --conf="conf/server.toml"
|