修改 docker 编译

This commit is contained in:
bjdgyc
2024-01-30 11:06:15 +08:00
parent 10a335dc3d
commit f9ff92d73d
6 changed files with 121 additions and 76 deletions

View File

@@ -14,62 +14,33 @@ function RETVAL() {
#当前目录
cpath=$(pwd)
#ver=`cat server/base/app_ver.go | grep APP_VER | awk '{print $3}' | sed 's/"//g'`
ver=$(cat version)
echo "当前版本 $ver"
echo "编译前端项目"
cd $cpath/web
#国内可替换源加快速度
#npx browserslist@latest --update-db
yarn install
yarn run build
RETVAL $?
rm -rf $cpath/server/ui
cp -rf $cpath/web/ui . $cpath/server/ui
mkdir archive anylink-deploy
echo "编译二进制文件"
cd $cpath/server
function archive() {
os=$1
arch=$2
echo "整理部署文件 $os $arch"
# -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.date=$(date --iso-8601=seconds)"
deploy="anylink-$ver-$os-$arch"
docker container create --platform $os/$arch --name $deploy bjdgyc/anylink
rm -rf anylink-deploy/*
docker cp -a $deploy:/app/ ./anylink-deploy/
ls -lh anylink-deploy
tar zcf ${deploy}.tar.gz anylink-deploy
mv ${deploy}.tar.gz archive/
}
#github action
gopath=$(go env GOPATH)
#go mod tidy
# alpine3
apk add gcc musl-dev
echo "copy二进制文件"
#使用 musl-dev 编译
docker run -q --rm -v $PWD:/app -v $gopath:/go -w /app --platform=linux/amd64 \
golang:1.20-alpine3.19 go build -o anylink_amd64 $flags -ldflags "$ldflags"
./anylink_amd64 -v
#arm64编译
docker run -q --rm -v $PWD:/app -v $gopath:/go -w /app --platform=linux/arm64 \
golang:1.20-alpine3.19 go build -o anylink_arm64 $flags -ldflags "$ldflags"
./anylink_arm64 -v
archive linux amd64
archive linux arm64
exit 0
ls -lh archive
cd $cpath
echo "整理部署文件"
deploy="anylink-deploy"
rm -rf $deploy ${deploy}.tar.gz
mkdir $deploy
mkdir $deploy/log
cp -r server/anylink $deploy
cp -r server/bridge-init.sh $deploy
cp -r server/conf $deploy
cp -r systemd $deploy
cp -r LICENSE $deploy
cp -r home $deploy
tar zcvf ${deploy}.tar.gz $deploy
#注意使用root权限运行
#cd anylink-deploy