This commit is contained in:
Dedy Martadinata Supriyadi 2022-02-11 23:59:36 +07:00
parent c6995e8486
commit d16471f4ce

View File

@ -9,8 +9,8 @@ variables:
ZIP_NAME: "deemix-docker" ZIP_NAME: "deemix-docker"
stages: stages:
- fetch-deemix - build-deemix
- build-binary #- build-binary
- create-release - create-release
- build-docker-image - build-docker-image
@ -20,50 +20,53 @@ fetch-deemix:
script: script:
- apt update && apt install -y --no-install-recommends zip git curl - apt update && apt install -y --no-install-recommends zip git curl
- git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive
- cp server.package.json deemix-gui/server/package.json
- cd deemix-gui - cd deemix-gui
- yarn config set network-timeout 1000000 -g - yarn config set network-timeout 1000000 -g
- yarn install-all - yarn install-all
#- zip -9 -r ${ZIP_NAME}.zip deemix-docker - yarn dist-server
#- | - ls -al dist/
# curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP_NAME}.zip ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip - |
#- echo ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip #This for download URL dockerfile curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-x64 ${PACKAGE_REGISTRY_URL}/deemix-server-linux-amd64
- |
curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-arm64 ${PACKAGE_REGISTRY_URL}/deemix-server-linux-arm64
only: only:
refs: refs:
- CI-test - CI-test
artifacts: #artifacts:
paths: # paths:
- deemix-gui/ # - deemix-gui/
build-binary: #build-binary:
image: docker:19 # image: docker:19
stage: build-binary # stage: build-binary
services: # services:
- docker:dind # - docker:dind
before_script: # before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY # - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- apk add --update curl jq && rm -rf /var/cache/apk/* # - apk add --update curl jq && rm -rf /var/cache/apk/*
- export CI_JOB_TIMESTAMP=$(date --utc -Iseconds) # - export CI_JOB_TIMESTAMP=$(date --utc -Iseconds)
- export DATE=$(date +%Y%m%d) # - export DATE=$(date +%Y%m%d)
script: # script:
# Download latest buildx bin from github # # Download latest buildx bin from github
- mkdir -p ~/.docker/cli-plugins/ # - mkdir -p ~/.docker/cli-plugins/
- BUILDX_LATEST_BIN_URI=$(curl -s -L https://github.com/docker/buildx/releases/latest | grep 'linux-amd64' | grep 'href' | sed 's/.*href="/https:\/\/github.com/g; s/amd64".*/amd64/g') # - BUILDX_LATEST_BIN_URI=$(curl -s -L https://github.com/docker/buildx/releases/latest | grep 'linux-amd64' | grep 'href' | sed 's/.*href="/https:\/\/github.com/g; s/amd64".*/amd64/g')
- curl -s -L ${BUILDX_LATEST_BIN_URI} -o ~/.docker/cli-plugins/docker-buildx # - curl -s -L ${BUILDX_LATEST_BIN_URI} -o ~/.docker/cli-plugins/docker-buildx
- chmod a+x ~/.docker/cli-plugins/docker-buildx # - chmod a+x ~/.docker/cli-plugins/docker-buildx
# Get and run the latest docker/binfmt tag to use its qemu parts # Get and run the latest docker/binfmt tag to use its qemu parts
- BINFMT_IMAGE_TAG=$(curl -s https://registry.hub.docker.com/v2/repositories/docker/binfmt/tags | jq '.results | sort_by(.last_updated)[-1].name' -r) # - BINFMT_IMAGE_TAG=$(curl -s https://registry.hub.docker.com/v2/repositories/docker/binfmt/tags | jq '.results | sort_by(.last_updated)[-1].name' -r)
- docker run --rm --privileged docker/binfmt:${BINFMT_IMAGE_TAG} # - docker run --rm --privileged docker/binfmt:${BINFMT_IMAGE_TAG}
# create the multibuilder # # create the multibuilder
- docker buildx create --name multibuilder # - docker buildx create --name multibuilder
- docker buildx use multibuilder # - docker buildx use multibuilder
# build and push # # build and push
- docker buildx build --build-arg PACKAGE_REGISTRY_URL=${PACKAGE_REGISTRY_URL} --build-arg JOB_TOKEN=${CI_JOB_TOKEN} --platform "${PLATFORMS_TEST}" . -f Dockerfile.binary # - docker buildx build --build-arg PACKAGE_REGISTRY_URL=${PACKAGE_REGISTRY_URL} --build-arg JOB_TOKEN=${CI_JOB_TOKEN} --platform "${PLATFORMS_TEST}" . -f Dockerfile.binary
# Also can do using date, so we dont dependant on latest, in case application break again. # # Also can do using date, so we dont dependant on latest, in case application break again.
#- docker buildx build --platform "${PLATFORMS}" -t ${CI_REGISTRY_IMAGE}:${DATE} -t $CI_REGISTRY_IMAGE:${IMAGE_TAG} . --push # #- docker buildx build --platform "${PLATFORMS}" -t ${CI_REGISTRY_IMAGE}:${DATE} -t $CI_REGISTRY_IMAGE:${IMAGE_TAG} . --push
only: # only:
refs: # refs:
- CI-test # - CI-test
create-release: create-release: