Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
a53ef722
提交
a53ef722
authored
3月 26, 2026
作者:
张伊明
浏览文件
操作
浏览文件
下载
差异文件
合并分支 'zym-dev' 到 'pre'
Zym dev 查看合并请求
!237
上级
21687898
1b858852
流水线
#85
已失败 于阶段
in 68 分 59 秒
变更
1
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
52 行增加
和
9 行删除
+52
-9
.gitlab-ci.yml
.gitlab-ci.yml
+52
-9
没有找到文件。
.gitlab-ci.yml
浏览文件 @
a53ef722
...
@@ -2,10 +2,12 @@ stages:
...
@@ -2,10 +2,12 @@ stages:
-
build
-
build
-
deploy
-
deploy
# cache:
cache
:
# key: "$CI_COMMIT_REF_SLUG"
# cache:key 这里使用字符串,兼容性更好(部分 linter 不支持 key: { files: [...] })
# paths:
key
:
"
npm-cache-$CI_COMMIT_REF_SLUG"
# - .npm/
paths
:
-
.npm/
policy
:
pull-push
build_pre
:
build_pre
:
stage
:
build
stage
:
build
...
@@ -17,8 +19,7 @@ build_pre:
...
@@ -17,8 +19,7 @@ build_pre:
script
:
script
:
-
node -v
-
node -v
-
npm -v
-
npm -v
-
npm config set cache .npm --global
-
npm ci --cache "$CI_PROJECT_DIR/.npm" --prefer-offline --no-audit --no-fund
-
npm ci --prefer-offline --no-audit --no-fund
-
npm run build
-
npm run build
artifacts
:
artifacts
:
paths
:
paths
:
...
@@ -35,5 +36,47 @@ deploy_pre:
...
@@ -35,5 +36,47 @@ deploy_pre:
dependencies
:
dependencies
:
-
build_pre
-
build_pre
script
:
script
:
-
apk add --no-cache rsync
-
apk add --no-cache rsync curl jq
-
rsync -av --delete dist/ /nas/kjb_service/zm/pre-project/html/
# 只允许“最新一次 pre pipeline”部署到 nginx(加二次确认,避免短时间多次推送导致重复 rsync)
\ No newline at end of file
-
>
LATEST_PIPELINE_ID="$(
curl --silent --show-error --fail
--header "JOB-TOKEN: $CI_JOB_TOKEN"
"$CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/pipelines?ref=pre&order_by=id&sort=desc&per_page=1"
| jq -r '.[0].id'
)"
-
>
if [ -z "$LATEST_PIPELINE_ID" ] || [ "$LATEST_PIPELINE_ID" != "$CI_PIPELINE_ID" ]; then
echo "skip deploy: not latest pipeline (latest=$LATEST_PIPELINE_ID current=$CI_PIPELINE_ID)";
exit 0;
fi
-
sleep 20
-
>
LATEST_PIPELINE_ID="$(
curl --silent --show-error --fail
--header "JOB-TOKEN: $CI_JOB_TOKEN"
"$CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/pipelines?ref=pre&order_by=id&sort=desc&per_page=1"
| jq -r '.[0].id'
)"
-
>
if [ -z "$LATEST_PIPELINE_ID" ] || [ "$LATEST_PIPELINE_ID" != "$CI_PIPELINE_ID" ]; then
echo "skip deploy: not latest pipeline after debounce (latest=$LATEST_PIPELINE_ID current=$CI_PIPELINE_ID)";
exit 0;
fi
-
rsync -av --delete dist/ /nas/kjb_service/zm/pre-project/html/
# 非 protected 分支:push 时先做 build 校验(避免合并 pre 时出现 build 报错)
build_check
:
stage
:
build
image
:
node:20-bullseye
tags
:
-
risk-monitor-frontend
only
:
-
branches
except
:
-
protected_branches
script
:
-
node -v
-
npm -v
-
npm ci --cache "$CI_PROJECT_DIR/.npm" --prefer-offline --no-audit --no-fund
-
npm run build
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论