refactor(dockerfile): update dockerfile

This commit is contained in:
Mauricio Siu
2024-09-29 18:49:07 -06:00
parent 98aa474975
commit 03d7738032
3 changed files with 75 additions and 115 deletions

View File

@@ -11,6 +11,7 @@ jobs:
command: |
cp apps/dokploy/.env.production.example .env.production
cp apps/dokploy/.env.production.example apps/dokploy/.env.production
- run:
name: Build and push AMD64 image
command: |
@@ -21,63 +22,63 @@ jobs:
TAG="canary"
fi
docker build --platform linux/amd64 -t dokploy/dokploy:${TAG}-amd64 .
docker push dokploy/dokploy:${TAG}-amd64
# docker push dokploy/dokploy:${TAG}-amd64
build-arm64:
machine:
image: ubuntu-2004:current
resource_class: arm.large
steps:
- checkout
- run:
name: Prepare .env file
command: |
cp apps/dokploy/.env.production.example .env.production
cp apps/dokploy/.env.production.example apps/dokploy/.env.production
- run:
name: Build and push ARM64 image
command: |
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
if [ "${CIRCLE_BRANCH}" == "main" ]; then
TAG="latest"
else
TAG="canary"
fi
docker build --platform linux/arm64 -t dokploy/dokploy:${TAG}-arm64 .
docker push dokploy/dokploy:${TAG}-arm64
# build-arm64:
# machine:
# image: ubuntu-2004:current
# resource_class: arm.large
# steps:
# - checkout
# - run:
# name: Prepare .env file
# command: |
# cp apps/dokploy/.env.production.example .env.production
# cp apps/dokploy/.env.production.example apps/dokploy/.env.production
# - run:
# name: Build and push ARM64 image
# command: |
# docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
# if [ "${CIRCLE_BRANCH}" == "main" ]; then
# TAG="latest"
# else
# TAG="canary"
# fi
# docker build --platform linux/arm64 -t dokploy/dokploy:${TAG}-arm64 .
# docker push dokploy/dokploy:${TAG}-arm64
combine-manifests:
docker:
- image: cimg/node:18.18.0
steps:
- checkout
- setup_remote_docker
- run:
name: Create and push multi-arch manifest
command: |
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
# combine-manifests:
# docker:
# - image: cimg/node:18.18.0
# steps:
# - checkout
# - setup_remote_docker
# - run:
# name: Create and push multi-arch manifest
# command: |
# docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
if [ "${CIRCLE_BRANCH}" == "main" ]; then
VERSION=$(node -p "require('./apps/dokploy/package.json').version")
echo $VERSION
TAG="latest"
docker manifest create dokploy/dokploy:${TAG} \
dokploy/dokploy:${TAG}-amd64 \
dokploy/dokploy:${TAG}-arm64
docker manifest push dokploy/dokploy:${TAG}
# if [ "${CIRCLE_BRANCH}" == "main" ]; then
# VERSION=$(node -p "require('./apps/dokploy/package.json').version")
# echo $VERSION
# TAG="latest"
docker manifest create dokploy/dokploy:${VERSION} \
dokploy/dokploy:${TAG}-amd64 \
dokploy/dokploy:${TAG}-arm64
docker manifest push dokploy/dokploy:${VERSION}
else
TAG="canary"
docker manifest create dokploy/dokploy:${TAG} \
dokploy/dokploy:${TAG}-amd64 \
dokploy/dokploy:${TAG}-arm64
docker manifest push dokploy/dokploy:${TAG}
fi
# docker manifest create dokploy/dokploy:${TAG} \
# dokploy/dokploy:${TAG}-amd64 \
# dokploy/dokploy:${TAG}-arm64
# docker manifest push dokploy/dokploy:${TAG}
# docker manifest create dokploy/dokploy:${VERSION} \
# dokploy/dokploy:${TAG}-amd64 \
# dokploy/dokploy:${TAG}-arm64
# docker manifest push dokploy/dokploy:${VERSION}
# else
# TAG="canary"
# docker manifest create dokploy/dokploy:${TAG} \
# dokploy/dokploy:${TAG}-amd64 \
# dokploy/dokploy:${TAG}-arm64
# docker manifest push dokploy/dokploy:${TAG}
# fi
workflows:
build-all:
@@ -86,20 +87,22 @@ workflows:
filters:
branches:
only:
- main
- canary
- build-arm64:
filters:
branches:
only:
- main
- canary
- combine-manifests:
requires:
- build-amd64
- build-arm64
filters:
branches:
only:
- main
- canary
- feat/cloud
# - main
# - canary
# -
# - build-arm64:
# filters:
# branches:
# only:
# - main
# - canary
# - combine-manifests:
# requires:
# - build-amd64
# - build-arm64
# filters:
# branches:
# only:
# - main
# - canary