53 lines
1.3 KiB
YAML
53 lines
1.3 KiB
YAML
default:
|
|
image: node:latest
|
|
|
|
before_script:
|
|
- echo '====== 准备构建中 ========='
|
|
|
|
stages:
|
|
- deploy
|
|
|
|
# 发布
|
|
job_deploy:
|
|
only:
|
|
- master
|
|
stage: deploy
|
|
tags:
|
|
- staryEvo
|
|
before_script:
|
|
- echo '开始发布'
|
|
- docker info # 添加 Docker 环境验证
|
|
- node -v # 验证 Node.js 版本
|
|
script:
|
|
# 添加镜像拉取重试逻辑
|
|
- retry_count=0
|
|
- until [ "$retry_count" -ge 3 ]; do
|
|
docker pull node:latest && break;
|
|
retry_count=$((retry_count+1));
|
|
echo "镜像拉取失败,重试 $retry_count/3";
|
|
sleep 5;
|
|
done
|
|
|
|
- cd Assets/00.StaryEvo
|
|
# 获取当前版本
|
|
- CURRENT_VERSION=$(node -p "require('./package.json').version")
|
|
# - echo " ProjectID ${CI_SERVER_HOST}"
|
|
# - echo " ProjectID ${CI_PROJECT_ID}"
|
|
# - echo " ProjectTOKEN ${CI_JOB_TOKEN}"
|
|
- echo "registry=http://${SERVER_HOST}/npm" > .npmrc
|
|
- echo "//${SERVER_HOST}/:_authToken=${AuthToken}" >> .npmrc
|
|
# 版本存在检测
|
|
# - if [[ "$REMOTE_VERSION" == *"$CURRENT_VERSION"* ]]; then
|
|
# echo "版本 $CURRENT_VERSION 已存在,跳过发布";
|
|
# exit 0;
|
|
# fi
|
|
- npm publish
|
|
- echo '构建完成'
|
|
when: 'on_success'
|
|
retry: 0
|
|
|
|
|
|
after_script:
|
|
- echo "====== 发布完成 ========="
|
|
|