修改编译脚本

This commit is contained in:
Liujian
2024-06-18 10:42:45 +08:00
parent a99fe6be91
commit 701d72a358
4 changed files with 97 additions and 11 deletions

View File

@@ -11,14 +11,20 @@ BasePath=$(pwd) ## 项目根目录
# 生成版本号
function genVersion(){
if [[ "$1" = "" ]]
then
v=$(git rev-parse --short HEAD)
time=$(date "+%Y%m%d%H")
echo "$time-$v"
exit 0
fi
echo "$1"
# 判断是否传参
if [ -n "$1" ]; then
echo "$1"
return
fi
# 是否安装了 git
tag=$(git describe --abbrev=0 --tags)
if [ $? -ne 0 ]; then
tag=$(git rev-parse --short HEAD)
fi
echo "${tag}"
}
# 构建app
@@ -40,10 +46,11 @@ function buildApp(){
-X 'github.com/eolinker/apinto/utils/version.eoscVersion=${EOSC_VERSION}'"
echo -e "build $APP:go build -ldflags "-w -s $flags" -o ${OUTPATH}/$APP ${BasePath}/app/$APP"
ARCH=$3
if [[ "$ARCH" = "" ]]
if [[ "$ARCH" == "" ]]
then
ARCH="amd64"
fi
echo "CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} go build -ldflags \"-w -s $flags\" -o ${OUTPATH}/$APP ${BasePath}/app/$APP"
CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} go build -ldflags "-w -s $flags" -o ${OUTPATH}/$APP ${BasePath}/app/$APP
# echo "build $APP:${buildCMD}"

View File

@@ -5,6 +5,7 @@ echo $0
#VERSION=`git describe --abbrev=0 --tags`
VERSION=$(genVersion $1)
Username="eolinker"
if [[ "$2" != "" ]]
then
@@ -12,15 +13,20 @@ then
fi
ARCH=$3
PLATFORM=""
if [[ "$ARCH" == "" ]]
then
ARCH="amd64"
fi
if [[ "$ARCH" == "amd64" ]]
then
PLATFORM="--platform=linux/amd64"
fi
./build/cmd/package.sh ${VERSION} ${ARCH}
PackageName=apinto_${VERSION}_linux_${ARCH}.tar.gz
cp out/${PackageName} ./build/resources/apinto.linux.x64.tar.gz
docker build -t ${Username}/apinto-gateway:${VERSION}-${ARCH} -f ./build/cmd/Dockerfile ./build/resources
docker build $PLATFORM -t ${Username}/apinto-gateway:${VERSION}-${ARCH} -f ./build/cmd/Dockerfile ./build/resources
rm -rf ./build/resources/apinto.linux.x64.tar.gz

44
build/cmd/docker_publish.sh Executable file
View File

@@ -0,0 +1,44 @@
#!/usr/bin/env bash
echo $0
. $(dirname $0)/common.sh
Version=$(genVersion)
echo ${Version}
ImageName="docker.eolinker.com/apinto/apinto-gateway"
echo "docker manifest rm \"${ImageName}:${Version}\""
docker manifest rm "${ImageName}:${Version}"
set -e
./build/cmd/docker_build.sh ${Version} "docker.eolinker.com/apinto" amd64
./build/cmd/docker_build.sh ${Version} "docker.eolinker.com/apinto" arm64
echo "docker push \"${ImageName}:${Version}-amd64\""
docker push "${ImageName}:${Version}-amd64"
echo "docker push \"${ImageName}:${Version}-arm64\""
docker push "${ImageName}:${Version}-arm64"
echo "Create manifest ${ImageName}:${Version}"
docker manifest create "${ImageName}:${Version}" "${ImageName}:${Version}-amd64" "${ImageName}:${Version}-arm64"
echo "Annotate manifest ${ImageName}:${Version} ${ImageName}:${Version}-amd64 --os linux --arch amd64"
docker manifest annotate "${ImageName}:${Version}" "${ImageName}:${Version}-amd64" --os linux --arch amd64
echo "Annotate manifest ${ImageName}:${Version} ${ImageName}:${Version}-arm64 --os linux --arch arm64"
docker manifest annotate "${ImageName}:${Version}" "${ImageName}:${Version}-arm64" --os linux --arch arm64
echo "Push manifest ${ImageName}:${Version}"
docker manifest push "${ImageName}:${Version}"
PUBLISH=$1
if [[ "${PUBLISH}" == "upload" ]];then
./build/cmd/qiniu_publish.sh amd64
./build/cmd/qiniu_publish.sh arm64
fi

29
build/cmd/qiniu_publish.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/sh
set -e
. $(dirname $0)/common.sh
Version=$(genVersion)
ImageName="docker.eolinker.com/apinto/apinto-gateway"
APP="apinto-gateway"
ARCH=$1
if [[ $ARCH == "" ]];then
ARCH="amd64"
fi
Tar="${APP}.${Version}.${ARCH}.tar.gz"
docker tag ${ImageName}:${Version}-${ARCH} ${ImageName}:${Version}
echo "docker save -o ${Tar} ${ImageName}:${Version}"
docker save -o ${Tar} ${ImageName}:${Version}
echo "qshell rput eolinker-main \"apinto/images/${Tar}\" ${Tar}"
qshell rput eolinker-main "apinto/images/${Tar}" ${Tar}
rm -f ${Tar}
docker rmi -f ${ImageName}:${Version}