mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-22 10:40:05 +08:00
Merge pull request #1958 from amani-lei/patch-1
使用docker buildx, 用于支持跨平台build
This commit is contained in:
commit
c094751f17
@ -1,31 +1,36 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
while getopts c:t:m:v: opt
|
||||
while getopts c:t:p:m:v: opt
|
||||
do
|
||||
case $opt in
|
||||
t)
|
||||
type=$OPTARG
|
||||
;;
|
||||
v)
|
||||
case $opt in
|
||||
t)
|
||||
type=$OPTARG
|
||||
;;
|
||||
v)
|
||||
version=$OPTARG
|
||||
;;
|
||||
p)
|
||||
platform=$OPTARG
|
||||
;;
|
||||
m)
|
||||
model=$OPTARG
|
||||
;;
|
||||
?)
|
||||
echo "unkonwn"
|
||||
exit
|
||||
;;
|
||||
?)
|
||||
echo "unkonwn"
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
help_string=".sh [-t build|push] [-p (amd64|arm64|...,default is `arch`) ] [-m Debug|Release] [-v [version]]"
|
||||
|
||||
if [[ ! -n $type ]];then
|
||||
echo ".sh [-t build|push] [-m Debug|Release] [-v [version]]"
|
||||
echo $help_string
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ ! -n $model ]];then
|
||||
echo ".sh [-t build|push] [-m Debug|Release] [-v [version]]"
|
||||
echo $help_string
|
||||
exit
|
||||
fi
|
||||
|
||||
@ -34,16 +39,36 @@ if [[ ! -n $version ]];then
|
||||
version="latest"
|
||||
fi
|
||||
|
||||
if [[ ! -n $platform ]];then
|
||||
platform=`arch`
|
||||
echo "auto select arch:${platform}"
|
||||
fi
|
||||
|
||||
case $platform in
|
||||
"arm64")
|
||||
#eg:osx
|
||||
platform="linux/arm64"
|
||||
;;
|
||||
"x86_64"|"amd64")
|
||||
platform="linux/amd64"
|
||||
;;
|
||||
*)
|
||||
echo "unknown cpu-arch ${platform}"
|
||||
echo "Use 'docker buildx ls' to get supported ARCH"
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
|
||||
case $model in
|
||||
'Debug')
|
||||
;;
|
||||
'Release')
|
||||
;;
|
||||
*)
|
||||
echo "unkonwn model"
|
||||
echo ".sh [-t build|push] [-m Debug|Release] [-v [version]]"
|
||||
exit
|
||||
;;
|
||||
echo "unkonwn model"
|
||||
echo $help_string
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
|
||||
namespace="zlmediakit"
|
||||
@ -53,7 +78,8 @@ case $type in
|
||||
'build')
|
||||
rm -rf ./build/CMakeCache.txt
|
||||
# 以腾讯云账号为例
|
||||
docker build --network=host --build-arg MODEL=$model -t $namespace/$packagename:$model.$version .
|
||||
docker buildx build --platform=$platform --network=host --build-arg MODEL=$model -t $namespace/$packagename:$model.$version .
|
||||
#docker build --network=host --build-arg MODEL=$model -t $namespace/$packagename:$model.$version .
|
||||
;;
|
||||
'push')
|
||||
echo "push to dst registry"
|
||||
@ -62,8 +88,8 @@ case $type in
|
||||
docker push $namespace/$packagename:$model.$version
|
||||
;;
|
||||
*)
|
||||
echo "unkonwn type"
|
||||
echo ".sh [-t build|push] [-m Debug|Release] [-v [version]]"
|
||||
exit
|
||||
;;
|
||||
echo "unkonwn type"
|
||||
echo $help_string
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
|
Loading…
Reference in New Issue
Block a user