mirror of
https://gitlab.com/Bockiii/deemix-docker.git
synced 2024-08-30 17:32:18 +00:00
Update .gitlab-ci.yml
This commit is contained in:
parent
8ece66b676
commit
eed268165b
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user