From f5af44bcb7a2b96f87df90974f4a57af0ed0166a Mon Sep 17 00:00:00 2001 From: xlx Date: Tue, 19 Mar 2024 09:23:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0ci?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 28 ++++++++++++++++++++++++---- Dockerfile | 5 +++++ deploy/build.sh | 9 +++++++++ deploy/package.sh | 10 ++++++++++ 4 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 Dockerfile create mode 100755 deploy/build.sh create mode 100644 deploy/package.sh 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 +