Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
36e079f6
提交
36e079f6
authored
3月 26, 2026
作者:
张伊明
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat 更新ci配置
上级
5c525b9e
流水线
#81
已失败
变更
1
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
66 行增加
和
15 行删除
+66
-15
.gitlab-ci.yml
.gitlab-ci.yml
+66
-15
没有找到文件。
.gitlab-ci.yml
浏览文件 @
36e079f6
...
@@ -2,23 +2,27 @@ stages:
...
@@ -2,23 +2,27 @@ stages:
-
build
-
build
-
deploy
-
deploy
# cache:
cache
:
# key: "$CI_COMMIT_REF_SLUG"
key
:
# paths:
files
:
# - .npm/
-
package-lock.json
paths
:
-
.npm/
policy
:
pull-push
build_pre
:
build_pre
:
stage
:
build
stage
:
build
image
:
node:20-bullseye
image
:
node:20-bullseye
tags
:
tags
:
-
risk-monitor-frontend
-
risk-monitor-frontend
only
:
rules
:
-
pre
-
if
:
'
$CI_PIPELINE_SOURCE
==
"push"
&&
$CI_COMMIT_BRANCH
==
"pre"'
when
:
on_success
-
when
:
never
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
:
...
@@ -30,10 +34,57 @@ deploy_pre:
...
@@ -30,10 +34,57 @@ deploy_pre:
image
:
alpine:3.20
image
:
alpine:3.20
tags
:
tags
:
-
risk-monitor-frontend
-
risk-monitor-frontend
only
:
rules
:
-
pre
-
if
:
'
$CI_PIPELINE_SOURCE
==
"push"
&&
$CI_COMMIT_BRANCH
==
"pre"'
dependencies
:
when
:
on_success
-
build_pre
-
when
:
never
needs
:
-
job
:
build_pre
artifacts
:
true
# 避免多次 deploy 争抢同一份 nginx 目录(极端情况下仍可串行化兜底)
resource_group
:
pre-nginx-deploy
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_API_V4_URL/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_API_V4_URL/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
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"push"
&&
$CI_COMMIT_BRANCH
&&
$CI_COMMIT_REF_PROTECTED
!=
"true"'
when
:
on_success
-
when
:
never
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论