Commit c8f3b992 authored by nanahira's avatar nanahira

Merge branch 'master' into koishi

parents 799f720b 355bc272
Pipeline #15918 canceled with stages
in 4 minutes and 1 second
stages: stages:
- build - build
- build2 - build2
- combine
- deploy - deploy
variables: variables:
GIT_DEPTH: "1" GIT_DEPTH: "1"
CONTAINER_TEST_IMAGE_FULL: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-full
CONTAINER_TEST_IMAGE_LITE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-lite
CONTAINER_TEST_IMAGE_X86_FULL: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x86-full
CONTAINER_TEST_IMAGE_X86_LITE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x86-lite
CONTAINER_TEST_IMAGE_ARM_FULL: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-arm-full
CONTAINER_TEST_IMAGE_ARM_LITE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-arm-lite
CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest
CONTAINER_RELEASE_IMAGE_FULL: $CI_REGISTRY_IMAGE:full
CONTAINER_RELEASE_IMAGE_LITE: $CI_REGISTRY_IMAGE:lite
build_lite_x86: .docker-op:
stage: build before_script:
tags:
- docker
script:
- TARGET_IMAGE=$CONTAINER_TEST_IMAGE_X86_LITE
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker build --pull --no-cache -f ./Dockerfile.lite -t $TARGET_IMAGE .
- docker push $TARGET_IMAGE
build_lite_arm:
stage: build
tags:
- docker-arm
script:
- TARGET_IMAGE=$CONTAINER_TEST_IMAGE_ARM_LITE
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker build --pull --no-cache -f ./Dockerfile.lite -t $TARGET_IMAGE .
- docker push $TARGET_IMAGE
build_full_x86: .docker-x86:
stage: build2 extends: .docker-op
tags: tags:
- docker - docker
script: variables:
- TARGET_IMAGE=$CONTAINER_TEST_IMAGE_X86_FULL ARCH: x86
- SOURCE_IMAGE=$CONTAINER_TEST_IMAGE_X86_LITE
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY .docker-arm:
- docker build --build-arg BASE_IMAGE=$SOURCE_IMAGE --pull --no-cache -t extends: .docker-op
$TARGET_IMAGE .
- docker push $TARGET_IMAGE
build_full_arm:
stage: build2
tags: tags:
- docker-arm - docker-arm
variables:
ARCH: arm
.build_lite:
stage: build
script: script:
- TARGET_IMAGE=$CONTAINER_TEST_IMAGE_ARM_FULL - docker build --pull --no-cache -f ./Dockerfile.lite -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-$ARCH-lite .
- SOURCE_IMAGE=$CONTAINER_TEST_IMAGE_ARM_LITE - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-$ARCH-lite
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker build --build-arg BASE_IMAGE=$SOURCE_IMAGE --pull --no-cache -t build_lite_x86:
$TARGET_IMAGE . extends:
- docker push $TARGET_IMAGE - .docker-x86
combine_lite: - .build_lite
build_lite_arm:
extends:
- .docker-arm
- .build_lite
.build_full:
stage: build2 stage: build2
tags:
- docker
script:
- TARGET_IMAGE=$CONTAINER_TEST_IMAGE_LITE
- SOURCE_IMAGE_2=$CONTAINER_TEST_IMAGE_ARM_LITE
- SOURCE_IMAGE_1=$CONTAINER_TEST_IMAGE_X86_LITE
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker pull $SOURCE_IMAGE_1
- docker pull $SOURCE_IMAGE_2
- docker manifest create $TARGET_IMAGE --amend $SOURCE_IMAGE_1 --amend
$SOURCE_IMAGE_2
- docker manifest push $TARGET_IMAGE
combine_full:
stage: combine
tags:
- docker
script: script:
- TARGET_IMAGE=$CONTAINER_TEST_IMAGE_FULL - docker build --build-arg $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-$ARCH-lite--pull --no-cache -t
- SOURCE_IMAGE_2=$CONTAINER_TEST_IMAGE_ARM_FULL $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-$ARCH-full .
- SOURCE_IMAGE_1=$CONTAINER_TEST_IMAGE_X86_FULL - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-$ARCH-full
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker pull $SOURCE_IMAGE_1
- docker pull $SOURCE_IMAGE_2
- docker manifest create $TARGET_IMAGE --amend $SOURCE_IMAGE_1 --amend
$SOURCE_IMAGE_2
- docker manifest push $TARGET_IMAGE
#upload_stuff_to_minio:
# stage: deploy
# tags:
# - linux
# image: $CONTAINER_TEST_IMAGE_FULL
# script:
# - apt update ; apt -y install python3-pip
# - pip3 install -U -i https://mirrors.aliyun.com/pypi/simple/ awscli
# - cd /ygopro-server
# - mkdir /dist
# - tar zcfv /dist/ygopro-server.tar.gz ./*
# - aws s3 --endpoint=https://minio.mycard.moe:9000 cp /dist/ygopro-server.tar.gz s3://mycard/srvpro/ygopro-server.tar.gz
# only:
# - master
deploy_latest_full: build_full_x86:
extends:
- .docker-x86
- .build_full
build_full_arm:
extends:
- .docker-arm
- .build_full
.deploy_image:
stage: deploy stage: deploy
tags: extends: .docker-x86
- docker
script: script:
- TARGET_IMAGE_2=$CONTAINER_RELEASE_IMAGE - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x86-$DEPLOY_TYPE
- TARGET_IMAGE=$CONTAINER_RELEASE_IMAGE_FULL - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-arm-$DEPLOY_TYPE
- SOURCE_IMAGE=$CONTAINER_TEST_IMAGE_FULL - docker manifest create $CI_REGISTRY_IMAGE:$DEPLOY_TAG $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x86-$DEPLOY_TYPE $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-arm-$DEPLOY_TYPE
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker manifest push $CI_REGISTRY_IMAGE:$DEPLOY_TAG
- docker pull $SOURCE_IMAGE
- docker tag $SOURCE_IMAGE $TARGET_IMAGE deploy_lite:
- docker push $TARGET_IMAGE extends: .deploy_image
- docker tag $SOURCE_IMAGE $TARGET_IMAGE_2 variables:
- docker push $TARGET_IMAGE_2 DEPLOY_TYPE: lite
only: DEPLOY_TAG: $CI_COMMIT_REF_SLUG-lite
- master
deploy_full:
extends: .deploy_image
variables:
DEPLOY_TYPE: full
DEPLOY_TAG: $CI_COMMIT_REF_SLUG-full
deploy_branch:
extends: .deploy_image
variables:
DEPLOY_TYPE: full
DEPLOY_TAG: $CI_COMMIT_REF_SLUG
deploy_latest_lite: deploy_latest_lite:
stage: deploy extends: .deploy_image
tags: variables:
- docker DEPLOY_TYPE: lite
script: DEPLOY_TAG: lite
- TARGET_IMAGE=$CONTAINER_RELEASE_IMAGE_LITE
- SOURCE_IMAGE=$CONTAINER_TEST_IMAGE_LITE
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker pull $SOURCE_IMAGE
- docker tag $SOURCE_IMAGE $TARGET_IMAGE
- docker push $TARGET_IMAGE
only: only:
- master - master
deploy_tag_full:
stage: deploy deploy_latest_full:
tags: extends: .deploy_image
- docker variables:
script: DEPLOY_TYPE: full
- TARGET_IMAGE_2=$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG DEPLOY_TAG: full
- TARGET_IMAGE=$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-full
- SOURCE_IMAGE=$CONTAINER_TEST_IMAGE_FULL
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker pull $SOURCE_IMAGE
- docker tag $SOURCE_IMAGE $TARGET_IMAGE
- docker push $TARGET_IMAGE
- docker tag $SOURCE_IMAGE $TARGET_IMAGE_2
- docker push $TARGET_IMAGE_2
only: only:
- tags - master
deploy_tag_lite:
stage: deploy deploy_latest:
tags: extends: .deploy_image
- docker variables:
script: DEPLOY_TYPE: full
- TARGET_IMAGE=$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-lite DEPLOY_TAG: latest
- SOURCE_IMAGE=$CONTAINER_TEST_IMAGE_LITE
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker pull $SOURCE_IMAGE
- docker tag $SOURCE_IMAGE $TARGET_IMAGE
- docker push $TARGET_IMAGE
only: only:
- tags - master
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment