ci: push to dockerhub, support arm
This commit is contained in:
parent
c9a91f8f4d
commit
500d3aa316
@ -57,6 +57,40 @@ jobs:
|
|||||||
if [[ "${CIRCLE_BRANCH}" =~ ^canary.([0-9]{4}.wk[0-9]{2},?)+$ ]]; then
|
if [[ "${CIRCLE_BRANCH}" =~ ^canary.([0-9]{4}.wk[0-9]{2},?)+$ ]]; then
|
||||||
curl -X POST -H "Content-Type: application/json" -d '{"msg_type":"text","content":{"text":"'${CIRCLE_USERNAME}' 触发了灰度环境分支 '${CIRCLE_BRANCH}' 更新与部署"}}' https://open.larksuite.com/open-apis/bot/v2/hook/68004e4a-1381-4886-a982-cd77d5f2e6a1
|
curl -X POST -H "Content-Type: application/json" -d '{"msg_type":"text","content":{"text":"'${CIRCLE_USERNAME}' 触发了灰度环境分支 '${CIRCLE_BRANCH}' 更新与部署"}}' https://open.larksuite.com/open-apis/bot/v2/hook/68004e4a-1381-4886-a982-cd77d5f2e6a1
|
||||||
fi
|
fi
|
||||||
|
docker-hub-build-push:
|
||||||
|
machine:
|
||||||
|
image: ubuntu-2404:current
|
||||||
|
resource_class: medium
|
||||||
|
parameters:
|
||||||
|
repo:
|
||||||
|
type: string
|
||||||
|
dockerfile:
|
||||||
|
type: string
|
||||||
|
docker-tag:
|
||||||
|
type: string
|
||||||
|
steps:
|
||||||
|
- run:
|
||||||
|
name: Build Docker image
|
||||||
|
command: |
|
||||||
|
# 检查是否为ARM构建
|
||||||
|
if [[ "<<parameters.docker-tag>>" == *"arm64"* ]]; then
|
||||||
|
# 设置Docker buildx进行多平台构建
|
||||||
|
docker buildx create --use --name multiarch
|
||||||
|
docker buildx inspect --bootstrap
|
||||||
|
# 构建ARM64架构的镜像
|
||||||
|
docker buildx build -t <<parameters.repo>>:<<parameters.docker-tag>> --platform linux/arm64 --no-cache -f <<parameters.dockerfile>> --load .
|
||||||
|
else
|
||||||
|
# 普通x86构建
|
||||||
|
docker build -t <<parameters.repo>>:<<parameters.docker-tag>> --no-cache -f <<parameters.dockerfile>> .
|
||||||
|
fi
|
||||||
|
- run:
|
||||||
|
name: Publish Docker Image to Docker Hub
|
||||||
|
command: |
|
||||||
|
echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
|
||||||
|
IMAGE_TAG="0.0.${CIRCLE_BUILD_NUM}"
|
||||||
|
docker tag <<parameters.repo>>:<<parameters.docker-tag>> <<parameters.repo>>:$IMAGE_TAG
|
||||||
|
docker push <<parameters.repo>>:<<parameters.docker-tag>>
|
||||||
|
docker push <<parameters.repo>>:$IMAGE_TAG
|
||||||
|
|
||||||
workflows:
|
workflows:
|
||||||
version: 2
|
version: 2
|
||||||
@ -113,4 +147,22 @@ workflows:
|
|||||||
only:
|
only:
|
||||||
- prod
|
- prod
|
||||||
requires:
|
requires:
|
||||||
- build-for-prod
|
- build-for-prod
|
||||||
|
- docker-hub-build-push:
|
||||||
|
name: docker-hub-build-push
|
||||||
|
repo: gptbasesparticle/catalog-agent
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
docker-tag: latest
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- onprem
|
||||||
|
- docker-hub-build-push:
|
||||||
|
name: docker-hub-build-push-arm
|
||||||
|
repo: gptbasesparticle/catalog-agent
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
docker-tag: latest_arm64
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- onprem
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user