mirror of
https://github.com/eolinker/apinto
synced 2025-12-24 13:28:15 +08:00
修改编译脚本
This commit is contained in:
@@ -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}"
|
||||
|
||||
|
||||
@@ -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
44
build/cmd/docker_publish.sh
Executable 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
29
build/cmd/qiniu_publish.sh
Executable 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}
|
||||
Reference in New Issue
Block a user