Add buildx support to circleci

This commit is contained in:
nicolas.dorier 2024-06-03 23:29:34 +09:00
parent b2be68992f
commit 9f441d226b
No known key found for this signature in database
GPG Key ID: 6618763EF09186FE
3 changed files with 30 additions and 0 deletions

View File

@ -15,6 +15,24 @@ jobs:
version: 20.10.18
# publish jobs require $DOCKERHUB_USER, $DOCKERHUB_PASS defined
publish_buildx:
docker:
- image: cimg/base:stable
steps:
- checkout
- setup_remote_docker:
version: 20.10.18
- run:
command: |
source ".circleci/parse-tag.sh"
DOCKERHUB_DOCKEFILE="$DOCKERHUB_DOCKEFILE_BUILDX"
DOCKERHUB_DESTINATION="$DOCKERHUB_REPO:$LATEST_TAG"
if [ -f $DOCKERHUB_DOCKEFILE ]; then
source ".circleci/push-image-buildx.sh"
else
echo "Skipping linuxamd64 because $DOCKERHUB_DOCKEFILE_BUILDX is not found"
fi
publish_linuxamd64:
docker:
- image: cimg/base:stable
@ -153,6 +171,7 @@ workflows:
- publish_linuxamd64
- publish_linuxarm32v7
- publish_linuxarm64v8
- publish_buildx
filters:
branches:
ignore: /.*/

View File

@ -28,6 +28,7 @@ DOCKERHUB_DESTINATION="$DOCKERHUB_REPO:$LATEST_TAG"
DOCKERHUB_DOCKEFILE_ARM64="$NODE_NAME/$NODE_VERSION/linuxarm64v8.Dockerfile"
DOCKERHUB_DOCKEFILE_ARM32="$NODE_NAME/$NODE_VERSION/linuxarm32v7.Dockerfile"
DOCKERHUB_DOCKEFILE_AMD64="$NODE_NAME/$NODE_VERSION/linuxamd64.Dockerfile"
DOCKERHUB_DOCKEFILE_BUILDX="$NODE_NAME/$NODE_VERSION/Dockerfile"
DOCKER_OPTIONS="-H=$DOCKER_HOST"

View File

@ -0,0 +1,10 @@
#!/bin/bash
echo "Pushing $DOCKERHUB_DOCKEFILE to dockerhub repository $DOCKERHUB_DESTINATION"
sudo docker $DOCKER_OPTIONS login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker buildx create --use
DOCKER_BUILDX_OPTS="--platform linux/amd64,linux/arm64,linux/arm/v7 --push"
sudo docker buildx build $DOCKER_BUILDX_OPTS \
-f "$DOCKERHUB_DOCKEFILE" \
-t $DOCKERHUB_DESTINATION \
"$NODE_NAME/$NODE_VERSION"