From eed268165ba7f28df7681893cbf57577ee11cdae Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 09:09:33 +0000 Subject: [PATCH 01/51] Update .gitlab-ci.yml --- .gitlab-ci.yml | 81 ++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 66 insertions(+), 15 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c525978..5f7c381 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,23 +1,72 @@ -image: docker:19 -services: - - docker:dind - -stages: - - build - variables: - IMAGE: registry.gitlab.com/bockiii/deemix-docker IMAGE_TAG: latest DOCKER_CLI_EXPERIMENTAL: enabled PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" + PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/${CI_PROJECT_NAME}" + ZIP_NAME: "deemix-docker" -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) +stages: + - build-deemix + - create-releases + - build-docker-image -build: - stage: build +build-deemix: + image: node:16-alpine + #image: node:16 + stage: build-deemix + script: + #- apt update && apt install -y --no-install-recommends zip + # Can replace with SHA-COMMIT + - export DATE=$(date +%Y%m%d) + - apk add --no-cache zip + - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive + - cd deemix-gui + - yarn config set network-timeout 1000000 -g + - yarn --cwd server install --prod && build-server && rm -rf server/node_modules + - yarn --cwd webui install --prod && yarn build-webui && rm -rf webui/node_modules + #- yarn cache clean + #- find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \; + # Move out our needed to new dir + - mkdir deemix-docker + - cp -r deemix-gui/server deemix-docker/server + - cp -r deemix-gui/webui deemix-docker/webui + - cp deemix-gui/package.json deemix-docker/package.json + - zip -9 -r + - | + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP_NAME}.zip ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip + - | + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP_NAME}.zip ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}-${DATE}.zip + artifacts: + paths: + - deemix-docker/ + +create-release: + stage: create-release + image: registry.gitlab.com/gitlab-org/release-cli:latest + #rules: + # - if: $CI_COMMIT_SHA + script: + - export DATE=$(date +%Y%m%d) #Cant tag same twice use $CI_COMMIT_SHA for a while + - export PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${DATE}/${CI_PROJECT_NAME}" + - | + release-cli create --name "Release $DATE" --tag-name $CI_COMMIT_SHA \ + --assets-link "{\"name\":\"${ZIP_NAME}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip\"}"\ + --assets-link "{\"name\":\"${ZIP_NAME}-${DATE}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}-${DATE}.zip\"}" + + +build-docker-image: + image: docker:19 + #dependencies: + # - build-deemix + stages: + - build-docker-image + 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/ @@ -31,4 +80,6 @@ build: - docker buildx create --name multibuilder - docker buildx use multibuilder # build and push - - docker buildx build --platform "${PLATFORMS}" -t $IMAGE:${IMAGE_TAG} . --push + - docker buildx build --platform "${PLATFORMS}" -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG} . --push + # 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 From 7a6a6377dfb8f6ddafa83b273f7023b39376136d Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 09:16:00 +0000 Subject: [PATCH 02/51] Update Dockerfile, .gitlab-ci.yml --- .gitlab-ci.yml | 1 + Dockerfile | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5f7c381..ce6ffac 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,6 +36,7 @@ build-deemix: curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP_NAME}.zip ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip - | curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP_NAME}.zip ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}-${DATE}.zip + - echo ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip #This for download URL dockerfile artifacts: paths: - deemix-docker/ diff --git a/Dockerfile b/Dockerfile index 2b1c322..e612740 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,8 +21,10 @@ RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash && \ rm -rf /var/lib/apt/lists/* && \ mkdir /downloads -RUN curl -L -o deemix.zip http://gitlab.com/Bockiii/deemix-src/-/jobs/artifacts/master/download?job=dl_src && \ - unzip deemix +#RUN curl -L -o deemix.zip http://gitlab.com/Bockiii/deemix-src/-/jobs/artifacts/master/download?job=dl_src && \ +# unzip deemix + + curl -L https://gitlab.com/api/v4/projects/47/packages/generic//pigallery2/pigallery2.zip -o deemix-docker.zip COPY root/ / From 86e71fda0c85bafbfd7c0e2efbc1b39029b08edd Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 09:18:02 +0000 Subject: [PATCH 03/51] Update Dockerfile --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index e612740..2583a54 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,7 +24,9 @@ RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash && \ #RUN curl -L -o deemix.zip http://gitlab.com/Bockiii/deemix-src/-/jobs/artifacts/master/download?job=dl_src && \ # unzip deemix - curl -L https://gitlab.com/api/v4/projects/47/packages/generic//pigallery2/pigallery2.zip -o deemix-docker.zip +# Need look again in CI ## project num +RUN curl -L https://gitlab.com/api/v4/projects/##/packages/generic//deemix-docker/deemix-docker.zip -o deemix-docker.zip && \ + unzip deemix-docker COPY root/ / From b76ccd4aaf87753e9890131c0ffd5984af63460a Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 09:27:40 +0000 Subject: [PATCH 04/51] Update .gitlab-ci.yml file --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ce6ffac..74e0d77 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,6 @@ variables: IMAGE_TAG: latest + IMAGE_TAG_TEST: test DOCKER_CLI_EXPERIMENTAL: enabled PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/${CI_PROJECT_NAME}" @@ -7,7 +8,7 @@ variables: stages: - build-deemix - - create-releases + - create-release - build-docker-image build-deemix: @@ -59,8 +60,7 @@ build-docker-image: image: docker:19 #dependencies: # - build-deemix - stages: - - build-docker-image + stage: build-docker-image services: - docker:dind before_script: @@ -81,6 +81,6 @@ build-docker-image: - docker buildx create --name multibuilder - docker buildx use multibuilder # build and push - - docker buildx build --platform "${PLATFORMS}" -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG} . --push + - docker buildx build --platform "${PLATFORMS}" -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG_TEST} . --push # 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 From b703cc02e1ab71e819c1801e4fd0a05ff2a38c2a Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 09:29:16 +0000 Subject: [PATCH 05/51] Update .gitlab-ci.yml --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 74e0d77..69be5bf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,7 +19,7 @@ build-deemix: #- apt update && apt install -y --no-install-recommends zip # Can replace with SHA-COMMIT - export DATE=$(date +%Y%m%d) - - apk add --no-cache zip + - apk add --no-cache zip git - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive - cd deemix-gui - yarn config set network-timeout 1000000 -g From e90a0465f034505572f1c017f8ebef342fb32aa1 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 09:32:28 +0000 Subject: [PATCH 06/51] Update .gitlab-ci.yml --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 69be5bf..8fb41b5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,7 +28,7 @@ build-deemix: #- yarn cache clean #- find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \; # Move out our needed to new dir - - mkdir deemix-docker + - cd .. && mkdir deemix-docker - cp -r deemix-gui/server deemix-docker/server - cp -r deemix-gui/webui deemix-docker/webui - cp deemix-gui/package.json deemix-docker/package.json From 7236fd9c0f84c7fc159adc8908bdc41ff7be6ec4 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 09:36:06 +0000 Subject: [PATCH 07/51] Update .gitlab-ci.yml --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8fb41b5..24614bc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,7 +19,7 @@ build-deemix: #- apt update && apt install -y --no-install-recommends zip # Can replace with SHA-COMMIT - export DATE=$(date +%Y%m%d) - - apk add --no-cache zip git + - apk add --no-cache zip git curl - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive - cd deemix-gui - yarn config set network-timeout 1000000 -g @@ -32,7 +32,7 @@ build-deemix: - cp -r deemix-gui/server deemix-docker/server - cp -r deemix-gui/webui deemix-docker/webui - cp deemix-gui/package.json deemix-docker/package.json - - zip -9 -r + - 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 - | From 2727f3d425ae0abd64a87691b73b5257d0a7edbf Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 16:42:59 +0700 Subject: [PATCH 08/51] test [.gitlab-ci.yml] --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 24614bc..8b2cc04 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,7 +23,7 @@ build-deemix: - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive - cd deemix-gui - yarn config set network-timeout 1000000 -g - - yarn --cwd server install --prod && build-server && rm -rf server/node_modules + - yarn --cwd server install --prod && yarn build-server && rm -rf server/node_modules - yarn --cwd webui install --prod && yarn build-webui && rm -rf webui/node_modules #- yarn cache clean #- find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \; From b7b3320eeb345c011a0073a32364f6f11a226ea0 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 16:46:34 +0700 Subject: [PATCH 09/51] fix package URL [.gitlab-ci.yml] --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8b2cc04..3e966b2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -49,7 +49,6 @@ create-release: # - if: $CI_COMMIT_SHA script: - export DATE=$(date +%Y%m%d) #Cant tag same twice use $CI_COMMIT_SHA for a while - - export PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${DATE}/${CI_PROJECT_NAME}" - | release-cli create --name "Release $DATE" --tag-name $CI_COMMIT_SHA \ --assets-link "{\"name\":\"${ZIP_NAME}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip\"}"\ From f741f512fd4718e19d5fe61d12739588bf4cf3a4 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 17:00:02 +0700 Subject: [PATCH 10/51] test [.gitlab-ci.yml] --- .gitlab-ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3e966b2..ed79caf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,8 +35,8 @@ build-deemix: - 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 - - | - curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP_NAME}.zip ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}-${DATE}.zip + #- | + # curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP_NAME}.zip ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}-${DATE}.zip - echo ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip #This for download URL dockerfile artifacts: paths: @@ -51,8 +51,9 @@ create-release: - export DATE=$(date +%Y%m%d) #Cant tag same twice use $CI_COMMIT_SHA for a while - | release-cli create --name "Release $DATE" --tag-name $CI_COMMIT_SHA \ - --assets-link "{\"name\":\"${ZIP_NAME}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip\"}"\ - --assets-link "{\"name\":\"${ZIP_NAME}-${DATE}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}-${DATE}.zip\"}" + --assets-link "{\"name\":\"${ZIP_NAME}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip\"}" +#\ +# --assets-link "{\"name\":\"${ZIP_NAME}-${DATE}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}-${DATE}.zip\"}" build-docker-image: From 6754430a40e80b7a640e7943a1d69500a5abb444 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 17:57:38 +0700 Subject: [PATCH 11/51] test again [Dockerfile] --- .gitlab-ci.yml | 9 ++++----- Dockerfile | 4 ++-- root/etc/services.d/deemix/run | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed79caf..46ddc0c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,8 +35,8 @@ build-deemix: - 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 - #- | - # curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP_NAME}.zip ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}-${DATE}.zip + - | + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP_NAME}.zip ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}${DATE}.zip - echo ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip #This for download URL dockerfile artifacts: paths: @@ -51,9 +51,8 @@ create-release: - export DATE=$(date +%Y%m%d) #Cant tag same twice use $CI_COMMIT_SHA for a while - | release-cli create --name "Release $DATE" --tag-name $CI_COMMIT_SHA \ - --assets-link "{\"name\":\"${ZIP_NAME}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip\"}" -#\ -# --assets-link "{\"name\":\"${ZIP_NAME}-${DATE}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}-${DATE}.zip\"}" + --assets-link "{\"name\":\"${ZIP_NAME}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip\"}"\ + --assets-link "{\"name\":\"${ZIP_NAME}-${DATE}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}${DATE}.zip\"}" build-docker-image: diff --git a/Dockerfile b/Dockerfile index 2583a54..5deda91 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,8 +24,8 @@ RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash && \ #RUN curl -L -o deemix.zip http://gitlab.com/Bockiii/deemix-src/-/jobs/artifacts/master/download?job=dl_src && \ # unzip deemix -# Need look again in CI ## project num -RUN curl -L https://gitlab.com/api/v4/projects/##/packages/generic//deemix-docker/deemix-docker.zip -o deemix-docker.zip && \ +# Need look again in project num +RUN curl -L https://gitlab.com/api/v4/projects/33610953/packages/generic//deemix-docker/deemix-docker.zip -o deemix-docker.zip && \ unzip deemix-docker COPY root/ / diff --git a/root/etc/services.d/deemix/run b/root/etc/services.d/deemix/run index 97f16b1..dc39015 100644 --- a/root/etc/services.d/deemix/run +++ b/root/etc/services.d/deemix/run @@ -17,4 +17,4 @@ export DEEMIX_SERVER_PORT=$port export DEEMIX_HOST=0.0.0.0 echo "[services.d] Starting Deemix" -s6-setuidgid abc node /deemix-gui/server/dist/app.js \ No newline at end of file +s6-setuidgid abc node /deemix-docker/server/dist/app.js --host 0.0.0.0 From 28ba3d345868e20a11e9cdd3171af78c3c2928fa Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 18:13:11 +0700 Subject: [PATCH 12/51] final test --- .gitlab-ci.yml | 6 +----- Dockerfile | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 46ddc0c..cc6fd58 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,8 +35,6 @@ build-deemix: - 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 - - | - curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${ZIP_NAME}.zip ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}${DATE}.zip - echo ${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip #This for download URL dockerfile artifacts: paths: @@ -51,9 +49,7 @@ create-release: - export DATE=$(date +%Y%m%d) #Cant tag same twice use $CI_COMMIT_SHA for a while - | release-cli create --name "Release $DATE" --tag-name $CI_COMMIT_SHA \ - --assets-link "{\"name\":\"${ZIP_NAME}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip\"}"\ - --assets-link "{\"name\":\"${ZIP_NAME}-${DATE}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}${DATE}.zip\"}" - + --assets-link "{\"name\":\"${ZIP_NAME}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip\"}" build-docker-image: image: docker:19 diff --git a/Dockerfile b/Dockerfile index 5deda91..a5a6e0d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash && \ # unzip deemix # Need look again in project num -RUN curl -L https://gitlab.com/api/v4/projects/33610953/packages/generic//deemix-docker/deemix-docker.zip -o deemix-docker.zip && \ +RUN curl -L https://gitlab.com/api/v4/projects/33610953/packages/generic/19217373/deemix-docker/deemix-docker.zip -o deemix-docker.zip && \ unzip deemix-docker COPY root/ / From d65e5e1acc1955ad27ccab1b1d79ee932d0f59cc Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 19:25:09 +0700 Subject: [PATCH 13/51] test lalala --- .gitlab-ci.yml | 56 +++++++++++++++++++++++++++++++++++++---------- Dockerfile.binary | 9 ++++++++ 2 files changed, 54 insertions(+), 11 deletions(-) create mode 100644 Dockerfile.binary diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cc6fd58..7e831cf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,7 @@ variables: stages: - build-deemix + - build-binary - create-release - build-docker-image @@ -23,22 +24,55 @@ build-deemix: - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive - cd deemix-gui - yarn config set network-timeout 1000000 -g - - yarn --cwd server install --prod && yarn build-server && rm -rf server/node_modules - - yarn --cwd webui install --prod && yarn build-webui && rm -rf webui/node_modules + - yarn install-all + - yarn predist + #- yarn --cwd server install --prod && yarn build-server && rm -rf server/node_modules + #- yarn --cwd webui install --prod && yarn build-webui && rm -rf webui/node_modules #- yarn cache clean #- find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \; # Move out our needed to new dir - - cd .. && mkdir deemix-docker - - cp -r deemix-gui/server deemix-docker/server - - cp -r deemix-gui/webui deemix-docker/webui - - cp deemix-gui/package.json deemix-docker/package.json - - 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 + #- cd .. && mkdir deemix-docker + #- cp -r deemix-gui/server deemix-docker/server + #- cp -r deemix-gui/webui deemix-docker/webui + #- cp deemix-gui/package.json deemix-docker/package.json + #- 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 artifacts: paths: - - deemix-docker/ + - deemix-gui/ + + +build-binary: + image: docker:19 + #dependencies: + # - build-deemix + 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}" . -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 + create-release: stage: create-release diff --git a/Dockerfile.binary b/Dockerfile.binary new file mode 100644 index 0000000..a772650 --- /dev/null +++ b/Dockerfile.binary @@ -0,0 +1,9 @@ +FROM node:16-alpine +ARG PACKAGE_REGISTRY_URL +ARG TARGETARCH +ARG CI_JOB_TOKEN +RUN apk add --no-cache curl && echo $TARGETARCH +COPY deemix-gui deemix-gui +WORKDIR deemix-gui/ +RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ +RUN curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH From 1d83735ad65b2a470a8501c26f1bb366840219e8 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 19:27:09 +0700 Subject: [PATCH 14/51] only in CI-test --- .gitlab-ci.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7e831cf..b89ba2c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,6 +39,9 @@ build-deemix: #- | # 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 + only: + refs: + - CI-test artifacts: paths: - deemix-gui/ @@ -72,6 +75,9 @@ build-binary: - docker buildx build --build-arg PACKAGE_REGISTRY_URL=${PACKAGE_REGISTRY_URL} --build-arg JOB_TOKEN=${CI_JOB_TOKEN} --platform "${PLATFORMS}" . -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: @@ -84,6 +90,9 @@ create-release: - | release-cli create --name "Release $DATE" --tag-name $CI_COMMIT_SHA \ --assets-link "{\"name\":\"${ZIP_NAME}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip\"}" + only: + refs: + - CI-test build-docker-image: image: docker:19 @@ -113,3 +122,6 @@ build-docker-image: - docker buildx build --platform "${PLATFORMS}" -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG_TEST} . --push # 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 From b97f59c81d62f779b1fb40c5d8b690b6bbd1d145 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 19:32:51 +0700 Subject: [PATCH 15/51] add binary --- Dockerfile.binary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index a772650..19a2a33 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -2,7 +2,7 @@ FROM node:16-alpine ARG PACKAGE_REGISTRY_URL ARG TARGETARCH ARG CI_JOB_TOKEN -RUN apk add --no-cache curl && echo $TARGETARCH +RUN apk add --no-cache curl git && echo $TARGETARCH COPY deemix-gui deemix-gui WORKDIR deemix-gui/ RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ From 8551c2f4624b58be616ded185460ddcb497f1058 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 19:37:09 +0700 Subject: [PATCH 16/51] use pkg tag to determine arch [Dockerfile.binary] --- Dockerfile.binary | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index 19a2a33..75ae242 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -5,5 +5,18 @@ ARG CI_JOB_TOKEN RUN apk add --no-cache curl git && echo $TARGETARCH COPY deemix-gui deemix-gui WORKDIR deemix-gui/ -RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH + +RUN if [ "${TARGETARCH}" = "arm64" ]; then \ + yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ ; + fi; + +RUN if [ "${TARGETARCH}" = "amd64" ]; then \ + yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ ; + fi; + +RUN if [ "${TARGETARCH}" = "arm" ]; then \ + yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ ; + fi; + +#RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ +RUN curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH From 582d774ae32b4e1d5e0b17ccb850f01a4e2c9e10 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 19:42:49 +0700 Subject: [PATCH 17/51] if [Dockerfile.binary] --- Dockerfile.binary | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index 75ae242..658d73e 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -7,15 +7,15 @@ COPY deemix-gui deemix-gui WORKDIR deemix-gui/ RUN if [ "${TARGETARCH}" = "arm64" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ ; + yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ fi; RUN if [ "${TARGETARCH}" = "amd64" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ ; + yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ fi; RUN if [ "${TARGETARCH}" = "arm" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ ; + yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ From fb11b9ae70e496a2735f4c000b5c488e7385320e Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 19:44:09 +0700 Subject: [PATCH 18/51] fix if [Dockerfile.binary] --- Dockerfile.binary | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index 658d73e..0ce5530 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -7,15 +7,15 @@ COPY deemix-gui deemix-gui WORKDIR deemix-gui/ RUN if [ "${TARGETARCH}" = "arm64" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ + yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ fi; RUN if [ "${TARGETARCH}" = "amd64" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ + yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ fi; RUN if [ "${TARGETARCH}" = "arm" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ + yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ From f15fff3e443940bf9fa19f7800e5aa5d393973b8 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 20:00:23 +0700 Subject: [PATCH 19/51] test --- .gitlab-ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b89ba2c..3cc1ca2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,7 @@ variables: IMAGE_TAG_TEST: test DOCKER_CLI_EXPERIMENTAL: enabled PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" + PLATFORMS_TEST: "linux/amd64,linux/arm64" PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/${CI_PROJECT_NAME}" ZIP_NAME: "deemix-docker" @@ -72,7 +73,7 @@ build-binary: - 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}" . -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. #- docker buildx build --platform "${PLATFORMS}" -t ${CI_REGISTRY_IMAGE}:${DATE} -t $CI_REGISTRY_IMAGE:${IMAGE_TAG} . --push only: @@ -89,7 +90,8 @@ create-release: - export DATE=$(date +%Y%m%d) #Cant tag same twice use $CI_COMMIT_SHA for a while - | release-cli create --name "Release $DATE" --tag-name $CI_COMMIT_SHA \ - --assets-link "{\"name\":\"${ZIP_NAME}.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/${ZIP_NAME}.zip\"}" + --assets-link "{\"name\":\"deemix-server-amd64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-amd64\"}" \ + --assets-link "{\"name\":\"deemix-server-arm64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-arm64\"}" only: refs: - CI-test From 54712c861ffefa313cc4d647e57a436a7444ae58 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 20:03:51 +0700 Subject: [PATCH 20/51] test --- .gitlab-ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3cc1ca2..410246a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -50,8 +50,6 @@ build-deemix: build-binary: image: docker:19 - #dependencies: - # - build-deemix stage: build-binary services: - docker:dind From 559c052bf756eebe1cf5100c5d7df3e7ddca0200 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 20:12:57 +0700 Subject: [PATCH 21/51] test --- Dockerfile.binary | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index 0ce5530..4981125 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -1,11 +1,12 @@ FROM node:16-alpine ARG PACKAGE_REGISTRY_URL ARG TARGETARCH -ARG CI_JOB_TOKEN +ARG JOB_TOKEN RUN apk add --no-cache curl git && echo $TARGETARCH COPY deemix-gui deemix-gui WORKDIR deemix-gui/ - +# Upgrade pk outself +RUN npm -g install pkg@latest RUN if [ "${TARGETARCH}" = "arm64" ]; then \ yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ fi; @@ -19,4 +20,4 @@ RUN if [ "${TARGETARCH}" = "arm" ]; then \ fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH +RUN curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH From d0d79636abf7068e68c9e8fa648d0118941af79b Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 20:13:54 +0700 Subject: [PATCH 22/51] test --- Dockerfile.binary | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index 4981125..b838eb7 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -5,7 +5,8 @@ ARG JOB_TOKEN RUN apk add --no-cache curl git && echo $TARGETARCH COPY deemix-gui deemix-gui WORKDIR deemix-gui/ -# Upgrade pk outself +# Upgrade pkg outself +RUN yarn config set network-timeout 1000000 -g RUN npm -g install pkg@latest RUN if [ "${TARGETARCH}" = "arm64" ]; then \ yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ From c75dbc82e02bced664ba1af42268cececadc63e0 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 20:35:40 +0700 Subject: [PATCH 23/51] test --- Dockerfile.binary | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index b838eb7..6301959 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -5,19 +5,18 @@ ARG JOB_TOKEN RUN apk add --no-cache curl git && echo $TARGETARCH COPY deemix-gui deemix-gui WORKDIR deemix-gui/ -# Upgrade pkg outself -RUN yarn config set network-timeout 1000000 -g -RUN npm -g install pkg@latest +# Only install pkg +RUN yarn config set network-timeout 1000000 -g && yarn add pkg@latest RUN if [ "${TARGETARCH}" = "arm64" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ fi; RUN if [ "${TARGETARCH}" = "amd64" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ fi; RUN if [ "${TARGETARCH}" = "arm" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ From 046da4bbe8e2a38f83cda326fb534ac1ffcf5e8c Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 20:39:12 +0700 Subject: [PATCH 24/51] test --- .gitlab-ci.yml | 2 +- Dockerfile | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 410246a..e0bf1ce 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -119,7 +119,7 @@ build-docker-image: - docker buildx create --name multibuilder - docker buildx use multibuilder # build and push - - docker buildx build --platform "${PLATFORMS}" -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG_TEST} . --push + - docker buildx build --platform "${PLATFORMS_TEST}" -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG_TEST} . --push # 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: diff --git a/Dockerfile b/Dockerfile index a5a6e0d..250e3f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM lsiobase/ubuntu:focal - +ARG TARGETARCH ARG BUILDDATE ENV BUILDDATEENV=${BUILDDATE} @@ -25,8 +25,7 @@ RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash && \ # unzip deemix # Need look again in project num -RUN curl -L https://gitlab.com/api/v4/projects/33610953/packages/generic/19217373/deemix-docker/deemix-docker.zip -o deemix-docker.zip && \ - unzip deemix-docker +RUN curl -L https://gitlab.com/api/v4/projects/33610953/packages/generic/deemix-docker/deemix-docker/deemix-server-linux-$TARGETARCH -o deemix-server && \ COPY root/ / From e98f8bd568cf980992b16ee2dbc5908a2202301c Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 20:53:06 +0700 Subject: [PATCH 25/51] final test --- .gitlab-ci.yml | 4 ++-- root/etc/services.d/deemix/run | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e0bf1ce..a0fcdfa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -88,8 +88,8 @@ create-release: - export DATE=$(date +%Y%m%d) #Cant tag same twice use $CI_COMMIT_SHA for a while - | release-cli create --name "Release $DATE" --tag-name $CI_COMMIT_SHA \ - --assets-link "{\"name\":\"deemix-server-amd64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-amd64\"}" \ - --assets-link "{\"name\":\"deemix-server-arm64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-arm64\"}" + --assets-link "{\"name\":\"deemix-server-amd64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-linux-amd64\"}" \ + --assets-link "{\"name\":\"deemix-server-arm64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-linux-arm64\"}" only: refs: - CI-test diff --git a/root/etc/services.d/deemix/run b/root/etc/services.d/deemix/run index dc39015..88e521e 100644 --- a/root/etc/services.d/deemix/run +++ b/root/etc/services.d/deemix/run @@ -17,4 +17,4 @@ export DEEMIX_SERVER_PORT=$port export DEEMIX_HOST=0.0.0.0 echo "[services.d] Starting Deemix" -s6-setuidgid abc node /deemix-docker/server/dist/app.js --host 0.0.0.0 +s6-setuidgid abc /deemix-server From 920654922b10f010b75d7a3955c597afa2289cc3 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 21:23:12 +0700 Subject: [PATCH 26/51] test only amd64 first --- .gitlab-ci.yml | 6 +++--- Dockerfile | 13 +------------ Dockerfile.binary | 16 ++++++++-------- 3 files changed, 12 insertions(+), 23 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a0fcdfa..31474bc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ variables: IMAGE_TAG_TEST: test DOCKER_CLI_EXPERIMENTAL: enabled PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" - PLATFORMS_TEST: "linux/amd64,linux/arm64" + PLATFORMS_TEST: "linux/amd64" PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/${CI_PROJECT_NAME}" ZIP_NAME: "deemix-docker" @@ -88,8 +88,8 @@ create-release: - export DATE=$(date +%Y%m%d) #Cant tag same twice use $CI_COMMIT_SHA for a while - | release-cli create --name "Release $DATE" --tag-name $CI_COMMIT_SHA \ - --assets-link "{\"name\":\"deemix-server-amd64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-linux-amd64\"}" \ - --assets-link "{\"name\":\"deemix-server-arm64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-linux-arm64\"}" + --assets-link "{\"name\":\"deemix-server-linux-amd64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-linux-amd64\"}" \ + --assets-link "{\"name\":\"deemix-server-linux-arm64\",\"url\":\"${PACKAGE_REGISTRY_URL}/deemix-server-linux-arm64\"}" only: refs: - CI-test diff --git a/Dockerfile b/Dockerfile index 250e3f1..192c577 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,22 +10,11 @@ LABEL \ app.deemix.image.description="Docker image for Deemix" \ maintainer="Bocki" -RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash && \ - apt-get -y --no-install-recommends install >/dev/null \ - nodejs \ - jq \ - iputils-ping \ - unzip \ - curl && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* && \ - mkdir /downloads - #RUN curl -L -o deemix.zip http://gitlab.com/Bockiii/deemix-src/-/jobs/artifacts/master/download?job=dl_src && \ # unzip deemix # Need look again in project num -RUN curl -L https://gitlab.com/api/v4/projects/33610953/packages/generic/deemix-docker/deemix-docker/deemix-server-linux-$TARGETARCH -o deemix-server && \ +RUN curl -L https://gitlab.com/api/v4/projects/33610953/packages/generic/deemix-docker/deemix-docker/deemix-server-linux-$TARGETARCH -o deemix-server COPY root/ / diff --git a/Dockerfile.binary b/Dockerfile.binary index 6301959..da06869 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -6,18 +6,18 @@ RUN apk add --no-cache curl git && echo $TARGETARCH COPY deemix-gui deemix-gui WORKDIR deemix-gui/ # Only install pkg -RUN yarn config set network-timeout 1000000 -g && yarn add pkg@latest -RUN if [ "${TARGETARCH}" = "arm64" ]; then \ - yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ - fi; +RUN ls-al && yarn config set network-timeout 1000000 -g && yarn add pkg@latest +#RUN if [ "${TARGETARCH}" = "arm64" ]; then \ +# yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ +# fi; RUN if [ "${TARGETARCH}" = "amd64" ]; then \ - yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ fi; -RUN if [ "${TARGETARCH}" = "arm" ]; then \ - yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ - fi; +#RUN if [ "${TARGETARCH}" = "arm" ]; then \ +# yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ +# fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ RUN curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH From a17180a5ad1e5a6d0d1aa1d61bafd436e67bd610 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 21:30:10 +0700 Subject: [PATCH 27/51] add some checking [Dockerfile.binary] --- Dockerfile.binary | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index da06869..0096cd0 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -6,18 +6,20 @@ RUN apk add --no-cache curl git && echo $TARGETARCH COPY deemix-gui deemix-gui WORKDIR deemix-gui/ # Only install pkg -RUN ls-al && yarn config set network-timeout 1000000 -g && yarn add pkg@latest -#RUN if [ "${TARGETARCH}" = "arm64" ]; then \ -# yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ -# fi; +RUN ls -al webui && \ + ls -al server && \ + yarn config set network-timeout 1000000 -g && yarn add pkg@latest +RUN if [ "${TARGETARCH}" = "arm64" ]; then \ + yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + fi; RUN if [ "${TARGETARCH}" = "amd64" ]; then \ yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ fi; -#RUN if [ "${TARGETARCH}" = "arm" ]; then \ -# yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ -# fi; +RUN if [ "${TARGETARCH}" = "arm" ]; then \ + yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH +RUN chmod +x dist/deemix-server && curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH From 0fc71bf43bc15002847a759f784a56f425d9cad0 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 21:43:50 +0700 Subject: [PATCH 28/51] test --- Dockerfile.binary | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index 0096cd0..5e980d6 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -14,7 +14,8 @@ RUN if [ "${TARGETARCH}" = "arm64" ]; then \ fi; RUN if [ "${TARGETARCH}" = "amd64" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + #yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + yarn dist-server; fi; RUN if [ "${TARGETARCH}" = "arm" ]; then \ @@ -22,4 +23,4 @@ RUN if [ "${TARGETARCH}" = "arm" ]; then \ fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN chmod +x dist/deemix-server && curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH +RUN chmod +x dist/deemix-server && curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH && dist/deemix-server From 9977e79628386fe64235989892312d6423125ef9 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 21:49:09 +0700 Subject: [PATCH 29/51] test --- Dockerfile.binary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index 5e980d6..b956f18 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -15,7 +15,7 @@ RUN if [ "${TARGETARCH}" = "arm64" ]; then \ RUN if [ "${TARGETARCH}" = "amd64" ]; then \ #yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ - yarn dist-server; + yarn dist-server; \ fi; RUN if [ "${TARGETARCH}" = "arm" ]; then \ From da04581da7eaffbb1b27a62960cd82d35efc57f5 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 21:58:07 +0700 Subject: [PATCH 30/51] test --- Dockerfile.binary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index b956f18..c3f7309 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -15,7 +15,7 @@ RUN if [ "${TARGETARCH}" = "arm64" ]; then \ RUN if [ "${TARGETARCH}" = "amd64" ]; then \ #yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ - yarn dist-server; \ + yarn dist-server && ls -al dist/; \ fi; RUN if [ "${TARGETARCH}" = "arm" ]; then \ From 1a2fd050dbfef2223a0e3ea24292e6b4536d9ca3 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 22:10:32 +0700 Subject: [PATCH 31/51] test --- .gitlab-ci.yml | 2 +- Dockerfile.binary | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 31474bc..47222be 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ variables: IMAGE_TAG_TEST: test DOCKER_CLI_EXPERIMENTAL: enabled PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" - PLATFORMS_TEST: "linux/amd64" + PLATFORMS_TEST: "linux/amd64,linux/amd64" PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/${CI_PROJECT_NAME}" ZIP_NAME: "deemix-docker" diff --git a/Dockerfile.binary b/Dockerfile.binary index c3f7309..4d3966d 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -10,7 +10,8 @@ RUN ls -al webui && \ ls -al server && \ yarn config set network-timeout 1000000 -g && yarn add pkg@latest RUN if [ "${TARGETARCH}" = "arm64" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + #yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + yarn dist-server && ls -al dist/; \ fi; RUN if [ "${TARGETARCH}" = "amd64" ]; then \ @@ -19,8 +20,9 @@ RUN if [ "${TARGETARCH}" = "amd64" ]; then \ fi; RUN if [ "${TARGETARCH}" = "arm" ]; then \ - yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + #yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ + yarn dist-server && ls -al dist/; \ fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN chmod +x dist/deemix-server && curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH && dist/deemix-server +RUN chmod +x dist/deemix-server-linux && curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH && dist/deemix-server From d6e11cc10f52efd12ef37e0974e1a70e01a265b2 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 22:11:47 +0700 Subject: [PATCH 32/51] test --- Dockerfile.binary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index 4d3966d..4ce6531 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -25,4 +25,4 @@ RUN if [ "${TARGETARCH}" = "arm" ]; then \ fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN chmod +x dist/deemix-server-linux && curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH && dist/deemix-server +RUN chmod +x dist/deemix-server-linux && curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH From bb1b958391a36dfc17e4f641c4aeb06e76f127cd Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 22:21:33 +0700 Subject: [PATCH 33/51] test --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 47222be..bc5cde4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,7 +14,7 @@ stages: - build-docker-image build-deemix: - image: node:16-alpine + image: node:16 #image: node:16 stage: build-deemix script: From 4a4bed59f3e98443086f59dd1f082820c90e29b3 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 22:21:41 +0700 Subject: [PATCH 34/51] test --- Dockerfile.binary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index 4ce6531..50d3819 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -1,4 +1,4 @@ -FROM node:16-alpine +FROM node:16 ARG PACKAGE_REGISTRY_URL ARG TARGETARCH ARG JOB_TOKEN From b1f28efc3404b9149c368212d99e732d0d1dea22 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 22:23:40 +0700 Subject: [PATCH 35/51] test --- .gitlab-ci.yml | 4 ++-- Dockerfile.binary | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bc5cde4..c532037 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,10 +18,10 @@ build-deemix: #image: node:16 stage: build-deemix script: - #- apt update && apt install -y --no-install-recommends zip + - apt update && apt install -y --no-install-recommends zip git curl # Can replace with SHA-COMMIT - export DATE=$(date +%Y%m%d) - - apk add --no-cache zip git curl + #- apk add --no-cache zip git curl - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive - cd deemix-gui - yarn config set network-timeout 1000000 -g diff --git a/Dockerfile.binary b/Dockerfile.binary index 50d3819..1d21fbd 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -2,7 +2,7 @@ FROM node:16 ARG PACKAGE_REGISTRY_URL ARG TARGETARCH ARG JOB_TOKEN -RUN apk add --no-cache curl git && echo $TARGETARCH +RUN apt update && apt install -y --no-install-recommends curl git && echo $TARGETARCH COPY deemix-gui deemix-gui WORKDIR deemix-gui/ # Only install pkg From 992f2982bfe5b5b65e1dda231971d8637f77636f Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 22:30:33 +0700 Subject: [PATCH 36/51] fix typo --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c532037..5eb958c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,8 +3,8 @@ variables: IMAGE_TAG_TEST: test DOCKER_CLI_EXPERIMENTAL: enabled PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" - PLATFORMS_TEST: "linux/amd64,linux/amd64" - PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/${CI_PROJECT_NAME}" + PLATFORMS_TEST: "linux/amd64,linux/arm64" + PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/${CI_COMMIT_SHORT_SHA}" ZIP_NAME: "deemix-docker" stages: From f0ef440264e59dec3e83ce3961592706180b36b8 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 22:53:42 +0700 Subject: [PATCH 37/51] test --- Dockerfile.binary | 26 ++++++++------- server.package.json | 79 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+), 12 deletions(-) create mode 100644 server.package.json diff --git a/Dockerfile.binary b/Dockerfile.binary index 1d21fbd..8eead95 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -5,24 +5,26 @@ ARG JOB_TOKEN RUN apt update && apt install -y --no-install-recommends curl git && echo $TARGETARCH COPY deemix-gui deemix-gui WORKDIR deemix-gui/ +COPY server.package.json server/package.json # Only install pkg RUN ls -al webui && \ ls -al server && \ yarn config set network-timeout 1000000 -g && yarn add pkg@latest -RUN if [ "${TARGETARCH}" = "arm64" ]; then \ - #yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ - yarn dist-server && ls -al dist/; \ - fi; +#RUN if [ "${TARGETARCH}" = "arm64" ]; then \ +# #yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ +# yarn dist-server && ls -al dist/; \ +# fi; -RUN if [ "${TARGETARCH}" = "amd64" ]; then \ - #yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ - yarn dist-server && ls -al dist/; \ - fi; +#RUN if [ "${TARGETARCH}" = "amd64" ]; then \ +# #yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ +# yarn dist-server && ls -al dist/; \ +# fi; -RUN if [ "${TARGETARCH}" = "arm" ]; then \ +#RUN if [ "${TARGETARCH}" = "arm" ]; then \ #yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ - yarn dist-server && ls -al dist/; \ - fi; +# yarn dist-server && ls -al dist/; \ +# fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN chmod +x dist/deemix-server-linux && curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH +RUN yarn dist-server && ls -al dist/; +RUN curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH diff --git a/server.package.json b/server.package.json new file mode 100644 index 0000000..ea23f57 --- /dev/null +++ b/server.package.json @@ -0,0 +1,79 @@ +{ + "name": "@deemix-gui/deemix-server", + "version": "0.0.0", + "private": true, + "scripts": { + "start": "node dist/app.js", + "build": "webpack --env production", + + "prewatch": "yarn lint-build", + "watch": "webpack --watch", + + "lint": "eslint \"./{src, tests}/**\" --fix", + "lint-build": "eslint \"./src/**\" --fix", + "test": "jest", + "test-watch": "jest --watch" + }, + "bin": "./dist/app.js", + "pkg": { + "scripts": "./dist/**/*.js", + "assets": [ + "../webui/public/**/*", + "../package.json" + ], + "targets": [ + "node16-linux-x64", + "node16-linux-arm64", + "node16-linux-armv7" + ] + }, + "dependencies": { + "@types/node": "14.14.37", + "bufferutil": "4.0.3", + "cookie-parser": "1.4.5", + "@types/cookie-parser": "1.4.2", + "debug": "2.6.9", + "@types/debug": "4.1.5", + "deemix": "^3.6.0", + "deezer-js": "^1.3.0", + "dotenv": "8.2.0", + "express": "4.17.1", + "@types/express": "4.17.11", + "express-session": "^1.17.1", + "@types/express-session": "^1.17.3", + "memorystore": "1.6.6", + "morgan": "1.10.0", + "@types/morgan": "1.9.2", + "ramda": "0.27.1", + "@types/ramda": "0.27.40", + "utf-8-validate": "5.0.5", + "uuid": "8.3.2", + "@types/uuid": "8.3.0", + "ws": "7.4.5", + "@types/ws": "7.4.1", + "yargs": "17.0.1", + "@types/yargs": "17.0.0", + "nodemon": "2.0.7", + "nodemon-webpack-plugin": "4.5.2", + "ts-loader": "9.2.3", + "webpack": "5.41.1", + "webpack-cli": "4.7.2" + }, + "devDependencies": { + "@nuxtjs/eslint-config": "6.0.0", + "@types/jest": "26.0.22", + "@types/supertest": "2.0.11", + "@typescript-eslint/eslint-plugin": "4.21.0", + "@typescript-eslint/parser": "4.21.0", + "eslint": "7.23.0", + "eslint-config-prettier": "8.1.0", + "eslint-plugin-prettier": "3.3.1", + "jest": "26.6.3", + "ts-jest": "26.5.4", + "ts-node": "9.1.1", + "ts-node-dev": "1.1.6", + "typescript": "4.2.4", + "prettier": "2.2.1", + "supertest": "6.1.3" + } +} From eecb0ad2af7441c3288f60f32213fb1ccf4c1250 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 22:54:06 +0700 Subject: [PATCH 38/51] test --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5eb958c..8d62e31 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,7 @@ variables: IMAGE_TAG_TEST: test DOCKER_CLI_EXPERIMENTAL: enabled PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" - PLATFORMS_TEST: "linux/amd64,linux/arm64" + PLATFORMS_TEST: "linux/amd64" PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/${CI_COMMIT_SHORT_SHA}" ZIP_NAME: "deemix-docker" From c8f591342cb8f44846a71aab408d7a376e97bbad Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 23:15:55 +0700 Subject: [PATCH 39/51] only target arm64, amd64 --- .gitlab-ci.yml | 36 ++++++++++++++++++------------------ Dockerfile.binary | 3 ++- server.package.json | 3 +-- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8d62e31..9c9dd20 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,25 +8,25 @@ variables: ZIP_NAME: "deemix-docker" stages: - - build-deemix + #- build-deemix - build-binary - create-release - build-docker-image -build-deemix: - image: node:16 +#build-deemix: +# image: node:16 #image: node:16 - stage: build-deemix - script: - - apt update && apt install -y --no-install-recommends zip git curl +# stage: build-deemix +# script: +# - apt update && apt install -y --no-install-recommends zip git curl # Can replace with SHA-COMMIT - - export DATE=$(date +%Y%m%d) +# - export DATE=$(date +%Y%m%d) #- apk add --no-cache zip git curl - - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive - - cd deemix-gui - - yarn config set network-timeout 1000000 -g - - yarn install-all - - yarn predist +# - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive +# - cd deemix-gui +# - yarn config set network-timeout 1000000 -g +# - yarn install-all +# - yarn predist #- yarn --cwd server install --prod && yarn build-server && rm -rf server/node_modules #- yarn --cwd webui install --prod && yarn build-webui && rm -rf webui/node_modules #- yarn cache clean @@ -40,12 +40,12 @@ build-deemix: #- | # 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 - only: - refs: - - CI-test - artifacts: - paths: - - deemix-gui/ +# only: +# refs: +# - CI-test +# artifacts: +# paths: +# - deemix-gui/ build-binary: diff --git a/Dockerfile.binary b/Dockerfile.binary index 8eead95..f177268 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -26,5 +26,6 @@ RUN ls -al webui && \ # fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN yarn dist-server && ls -al dist/; +RUN yarn dist-server && ls -al dist/ && chmod +x dist/deemix-server* RUN curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH +RUN curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-arm64 ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH diff --git a/server.package.json b/server.package.json index ea23f57..543422d 100644 --- a/server.package.json +++ b/server.package.json @@ -23,8 +23,7 @@ ], "targets": [ "node16-linux-x64", - "node16-linux-arm64", - "node16-linux-armv7" + "node16-linux-arm64" ] }, "dependencies": { From 4318231d443640f62debf10b9edbe83bd3af3a2c Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 23:17:29 +0700 Subject: [PATCH 40/51] test --- .gitlab-ci.yml | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9c9dd20..dd9b4ed 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,24 +8,23 @@ variables: ZIP_NAME: "deemix-docker" stages: - #- build-deemix + - fetch-deemix - build-binary - create-release - build-docker-image -#build-deemix: -# image: node:16 - #image: node:16 -# stage: build-deemix -# script: -# - apt update && apt install -y --no-install-recommends zip git curl +fetch-deemix: + image: node:16 + stage: fetch-deemix + script: + - apt update && apt install -y --no-install-recommends zip git curl # Can replace with SHA-COMMIT # - export DATE=$(date +%Y%m%d) #- apk add --no-cache zip git curl # - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive # - cd deemix-gui # - yarn config set network-timeout 1000000 -g -# - yarn install-all + - yarn install-all # - yarn predist #- yarn --cwd server install --prod && yarn build-server && rm -rf server/node_modules #- yarn --cwd webui install --prod && yarn build-webui && rm -rf webui/node_modules @@ -40,12 +39,12 @@ stages: #- | # 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 -# only: -# refs: -# - CI-test -# artifacts: -# paths: -# - deemix-gui/ + only: + refs: + - CI-test + artifacts: + paths: + - deemix-gui/ build-binary: From 75c2669a871ac2894a2e468b18012b3b87e76dd0 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 23:18:34 +0700 Subject: [PATCH 41/51] test --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dd9b4ed..e75542d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,7 @@ variables: IMAGE_TAG_TEST: test DOCKER_CLI_EXPERIMENTAL: enabled PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" + PLATFORMS_DOCKER: "linux/amd64,linux/arm64" PLATFORMS_TEST: "linux/amd64" PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deemix-docker/${CI_COMMIT_SHORT_SHA}" ZIP_NAME: "deemix-docker" @@ -118,7 +119,7 @@ build-docker-image: - docker buildx create --name multibuilder - docker buildx use multibuilder # build and push - - docker buildx build --platform "${PLATFORMS_TEST}" -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG_TEST} . --push + - docker buildx build --platform "${PLATFORMS_DOCKER}" -t ${CI_REGISTRY_IMAGE}:${IMAGE_TAG_TEST} . --push # 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: From 6b7fcffab7066b22f096299c807e079cf052df0d Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 23:20:05 +0700 Subject: [PATCH 42/51] test --- .gitlab-ci.yml | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e75542d..c81ad30 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,23 +19,10 @@ fetch-deemix: stage: fetch-deemix script: - apt update && apt install -y --no-install-recommends zip git curl - # Can replace with SHA-COMMIT -# - export DATE=$(date +%Y%m%d) - #- apk add --no-cache zip git curl -# - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive -# - cd deemix-gui -# - yarn config set network-timeout 1000000 -g + - git clone --depth=1 https://gitlab.com/RemixDev/deemix-gui.git --recursive + - cd deemix-gui + - yarn config set network-timeout 1000000 -g - yarn install-all -# - yarn predist - #- yarn --cwd server install --prod && yarn build-server && rm -rf server/node_modules - #- yarn --cwd webui install --prod && yarn build-webui && rm -rf webui/node_modules - #- yarn cache clean - #- find . -name 'node_modules' -type d -prune -exec rm -rf '{}' \; - # Move out our needed to new dir - #- cd .. && mkdir deemix-docker - #- cp -r deemix-gui/server deemix-docker/server - #- cp -r deemix-gui/webui deemix-docker/webui - #- cp deemix-gui/package.json deemix-docker/package.json #- 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 From 165ba373c61bcbb01ef54b998d595e727ade6ab6 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 23:31:20 +0700 Subject: [PATCH 43/51] test --- Dockerfile.binary | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index f177268..937a60a 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -26,6 +26,5 @@ RUN ls -al webui && \ # fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN yarn dist-server && ls -al dist/ && chmod +x dist/deemix-server* -RUN curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH -RUN curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-arm64 ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH +RUN yarn dist-server && ls -al dist/ && curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH && \ + curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-arm64 ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH From 957984f6a9373748de2ed447d99eb918e1c7c498 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 23:40:18 +0700 Subject: [PATCH 44/51] fix curl path --- Dockerfile.binary | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index 937a60a..ced2af2 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -26,5 +26,5 @@ RUN ls -al webui && \ # fi; #RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN yarn dist-server && ls -al dist/ && curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-linux ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH && \ - curl --header "JOB-TOKEN: ${JOB_TOKEN}" --upload-file dist/deemix-server-arm64 ${PACKAGE_REGISTRY_URL}/deemix-server-linux-$TARGETARCH +RUN 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 From c6995e848690cbddee06a5d7d5d7e5214001ec04 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 23:53:00 +0700 Subject: [PATCH 45/51] final test --- Dockerfile.binary | 24 ++++-------------------- server.package.json | 3 ++- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/Dockerfile.binary b/Dockerfile.binary index ced2af2..b57bcbe 100644 --- a/Dockerfile.binary +++ b/Dockerfile.binary @@ -7,24 +7,8 @@ COPY deemix-gui deemix-gui WORKDIR deemix-gui/ COPY server.package.json server/package.json # Only install pkg -RUN ls -al webui && \ - ls -al server && \ - yarn config set network-timeout 1000000 -g && yarn add pkg@latest -#RUN if [ "${TARGETARCH}" = "arm64" ]; then \ -# #yarn install && yarn set-version && ./node_modules/.bin/pkg -t arm64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ -# yarn dist-server && ls -al dist/; \ -# fi; - -#RUN if [ "${TARGETARCH}" = "amd64" ]; then \ -# #yarn install && yarn set-version && ./node_modules/.bin/pkg -t x64 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ -# yarn dist-server && ls -al dist/; \ -# fi; - -#RUN if [ "${TARGETARCH}" = "arm" ]; then \ - #yarn install && yarn set-version && ./node_modules/.bin/pkg -t armv7 --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/; \ -# yarn dist-server && ls -al dist/; \ -# fi; - -#RUN yarn install && yarn set-version && ./node_modules/.bin/pkg --out-dir dist ./server/package.json && yarn reset-version && ls -al dist/ -RUN 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 && \ +#RUN sed -i 's/node16-win-x64/node16-linux-arm64/g' server/package.json +RUN yarn config set network-timeout 1000000 -g && yarn add pkg@latest +RUN 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 diff --git a/server.package.json b/server.package.json index 543422d..a89a01c 100644 --- a/server.package.json +++ b/server.package.json @@ -23,7 +23,8 @@ ], "targets": [ "node16-linux-x64", - "node16-linux-arm64" + "node16-linux-arm64", + "node14-linux-armv7" ] }, "dependencies": { From d16471f4ce89dfb235a8266eb5dae62789eb0471 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Fri, 11 Feb 2022 23:59:36 +0700 Subject: [PATCH 46/51] 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: From 7aa7f62ed5d0f2bf160dc55d0e93f66a13b641b8 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Sat, 12 Feb 2022 00:00:52 +0700 Subject: [PATCH 47/51] test --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d77e960..fca2973 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,9 +14,9 @@ stages: - create-release - build-docker-image -fetch-deemix: +build-deemix: image: node:16 - stage: fetch-deemix + stage: build-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 From 9bb4e0301c104857375363e8023b5aafce781bfd Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Sat, 12 Feb 2022 00:02:06 +0700 Subject: [PATCH 48/51] remove armv7 --- server.package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server.package.json b/server.package.json index a89a01c..543422d 100644 --- a/server.package.json +++ b/server.package.json @@ -23,8 +23,7 @@ ], "targets": [ "node16-linux-x64", - "node16-linux-arm64", - "node14-linux-armv7" + "node16-linux-arm64" ] }, "dependencies": { From 29d1da335d4a80a4971552796e86a3b614d54cca Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Sat, 12 Feb 2022 00:02:49 +0700 Subject: [PATCH 49/51] test --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fca2973..60e6795 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -33,6 +33,8 @@ build-deemix: only: refs: - CI-test + changes: + - server.package.json #artifacts: # paths: # - deemix-gui/ From 3b6ce3ebd99bbaf22d90c8dbaa9a3cbd2774c407 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Sat, 12 Feb 2022 00:07:10 +0700 Subject: [PATCH 50/51] final --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 60e6795..c21da01 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,9 +27,9 @@ build-deemix: - 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: ${CI_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 + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file dist/deemix-server-arm64 ${PACKAGE_REGISTRY_URL}/deemix-server-linux-arm64 only: refs: - CI-test From c11e3f24c37939795690278eab4839fa073bc357 Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Sat, 12 Feb 2022 00:08:50 +0700 Subject: [PATCH 51/51] full pipeline --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c21da01..5511045 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -33,8 +33,8 @@ build-deemix: only: refs: - CI-test - changes: - - server.package.json + #changes: + # - server.package.json #artifacts: # paths: # - deemix-gui/