diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 353deb0..5155b1b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,12 +1,32 @@ stages: - build + - package + - deploy + +cache: + policy: pull + key: '$CI_COMMIT_REF_NAME' + paths: + - node_modules/ build: + image: registry.zhst.com/video-analysis/pnpm4 tags: - linux stage: build script: - - cd /home - - ls - - git - - node + - chmod +x ./deploy/build.sh && ./deploy/build.sh + artifacts: + name: '${CI_PROJECT_NAME}_${CI_COMMIT_REF_NAME}_${CI_JOB_NAME}_${CI_PIPELINE_ID}' + paths: + - ./app/public/* + +package: + tags: + - linux_shell + stage: package + script: + - chmod +x ./deploy/package.sh && ./deploy/package.sh + dependencies: + - build + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..123c217 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM alpine:latest + +ADD ./app/public/ /app/public/ + +CMD [ "sh", "-c", "while true; do echo zhst-web; sleep 1; done" ] \ No newline at end of file diff --git a/deploy/build.sh b/deploy/build.sh new file mode 100755 index 0000000..00a1980 --- /dev/null +++ b/deploy/build.sh @@ -0,0 +1,9 @@ +pnpm install + +pnpm run build:master + +mkdir -p ./app/public/ + +mv ./dist/* ./app/public/ + +cat ./app/public/index.html | head -n 7 diff --git a/deploy/package.sh b/deploy/package.sh new file mode 100644 index 0000000..74c068d --- /dev/null +++ b/deploy/package.sh @@ -0,0 +1,10 @@ +#! /bin/bash +set -e + +export DOCKER_CLI_EXPERIMENTAL=enabled +docker login registry.zhst.com -u zhst -p Zhst666\& + +# docker build -t registry.zhst.com/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME//\//-}-${CI_PIPELINE_ID} -f Dockerfile . +# docker push registry.zhst.com/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME//\//-}-${CI_PIPELINE_ID} +docker buildx build --platform linux/arm64,linux/amd64 -t registry.zhst.com/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME//\//-}-${CI_PIPELINE_ID} -f Dockerfile . --push +