mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
82 lines
2.3 KiB
YAML
82 lines
2.3 KiB
YAML
stages:
|
|
- buildx
|
|
- build-dev
|
|
- build-prod
|
|
|
|
buildx:
|
|
image: docker:git
|
|
services:
|
|
- docker:dind
|
|
stage: buildx
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == 'dev'
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
artifacts:
|
|
paths:
|
|
- buildx
|
|
expire_in: 1 hour
|
|
script:
|
|
- export DOCKER_BUILDKIT=1
|
|
- git clone git://github.com/docker/buildx ./docker-buildx
|
|
- docker build --platform=local -o . ./docker-buildx
|
|
|
|
docker-build-dev:
|
|
image: docker:latest
|
|
services:
|
|
- name: docker:dind
|
|
command: ["--experimental"]
|
|
stage: build-dev
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == 'dev'
|
|
environment:
|
|
name: development
|
|
before_script:
|
|
- mkdir -p ~/.docker/cli-plugins
|
|
- mv buildx ~/.docker/cli-plugins/docker-buildx
|
|
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
- echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
|
|
script:
|
|
- |
|
|
tag=":$CI_COMMIT_REF_SLUG"
|
|
echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag"
|
|
- docker buildx create --use
|
|
- docker buildx build
|
|
--cache-from type=registry,ref="$CI_REGISTRY_IMAGE${tag}"
|
|
--build-arg BUILDKIT_INLINE_CACHE=1
|
|
--tag "$CI_REGISTRY_IMAGE${tag}"
|
|
--platform linux/arm64/v8,linux/amd64
|
|
--push .
|
|
after_script:
|
|
- docker buildx imagetools inspect "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
|
|
|
|
docker-build-prod:
|
|
image: docker:latest
|
|
services:
|
|
- name: docker:dind
|
|
command: ["--experimental"]
|
|
stage: build-prod
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
environment:
|
|
name: production
|
|
before_script:
|
|
- mkdir -p ~/.docker/cli-plugins
|
|
- mv buildx ~/.docker/cli-plugins/docker-buildx
|
|
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
- echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
|
|
script:
|
|
- |
|
|
tag=""
|
|
echo "Running on default branch '$CI_DEFAULT_BRANCH': tag = 'latest'"
|
|
- docker buildx create --use
|
|
- docker buildx build
|
|
--cache-from type=registry,ref="$CI_REGISTRY_IMAGE${tag}"
|
|
--build-arg BUILDKIT_INLINE_CACHE=1
|
|
--tag "$CI_REGISTRY_IMAGE${tag}"
|
|
--platform linux/arm64/v8,linux/amd64
|
|
--push .
|
|
after_script:
|
|
- docker buildx imagetools inspect "$CI_REGISTRY_IMAGE${tag}"
|