From d16471f4ce89dfb235a8266eb5dae62789eb0471 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 23:59:36 +0700 Subject: [PATCH] opt --- .gitlab-ci.yml | 77 ++++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c81ad30..d77e960 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,8 +9,8 @@ variables: ZIP_NAME: "deemix-docker" stages: - - fetch-deemix - - build-binary + - build-deemix + #- build-binary - create-release - build-docker-image @@ -20,50 +20,53 @@ fetch-deemix: script: - apt update && apt install -y --no-install-recommends zip git curl - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive + - cp server.package.json deemix-gui/server/package.json - cd deemix-gui - yarn config set network-timeout 1000000 -g - yarn install-all - #- zip -9 -r ${ZIP_NAME}.zip deemix-docker - #- | - # 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 + - yarn dist-server + - ls -al dist/ + - | + 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: refs: - CI-test - artifacts: - paths: - - deemix-gui/ + #artifacts: + # paths: + # - deemix-gui/ -build-binary: - image: docker:19 - stage: build-binary - services: - - docker:dind - before_script: - - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - - apk add --update curl jq && rm -rf /var/cache/apk/* - - export CI_JOB_TIMESTAMP=$(date --utc -Iseconds) - - export DATE=$(date +%Y%m%d) - script: - # Download latest buildx bin from github - - 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') - - curl -s -L ${BUILDX_LATEST_BIN_URI} -o ~/.docker/cli-plugins/docker-buildx - - chmod a+x ~/.docker/cli-plugins/docker-buildx +#build-binary: +# image: docker:19 +# stage: build-binary +# services: +# - docker:dind +# before_script: +# - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY +# - apk add --update curl jq && rm -rf /var/cache/apk/* +# - export CI_JOB_TIMESTAMP=$(date --utc -Iseconds) +# - export DATE=$(date +%Y%m%d) +# script: +# # Download latest buildx bin from github +# - 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') +# - curl -s -L ${BUILDX_LATEST_BIN_URI} -o ~/.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 - - 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} - # create the multibuilder - - docker buildx create --name multibuilder - - docker buildx use multibuilder - # 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 - # 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 - only: - refs: - - CI-test +# - 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} +# # create the multibuilder +# - docker buildx create --name multibuilder +# - docker buildx use multibuilder +# # 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 +# # 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 +# only: +# refs: +# - CI-test create-release: