如何自定义每日多次触发的GitLab定时流水线列表展示条目
GitLab自定义Pipeline列表展示的可行方案
方案1:给定时触发的Pipeline设置自定义展示名称
这是最直接的解决方案,GitLab支持通过workflow:name语法自定义Pipeline的显示名称,你可以直接把定时任务标识、具体运行时间塞进名称里,配置示例如下:
# 写入你项目的.gitlab-ci.yml文件 workflow: rules: # 定时触发的Pipeline使用自定义名称 - if: $CI_PIPELINE_SOURCE == "schedule" name: '$SCHEDULE_TASK_NAME | 运行时间:$CI_PIPELINE_CREATED_AT' # 其他触发方式保持默认名称 - when: always
你可以在创建四个定时任务的时候,分别给每个任务添加自定义变量SCHEDULE_TASK_NAME,值对应设置为凌晨0点数据校验/早6点数据校验等你容易识别的标识;CI_PIPELINE_CREATED_AT是GitLab预置变量,会自动替换为Pipeline创建的ISO格式精确时间(含年月日时分),即使Pipeline运行超过24小时,名称里的时间信息也不会消失。
方案2:全局修改时间显示为绝对时间
如果你不需要区分定时任务,只想把原来的相对时间(X天前)改成精确的绝对时间,可以直接修改个人偏好设置:
- 进入GitLab个人设置页面
- 找到「本地化」分类下的「时间显示格式」选项
- 选择「绝对时间」,保存后所有Pipeline列表的运行时间都会直接显示具体的年月日时分,不会再显示相对时间。
低版本GitLab兼容方案
如果你们使用的是14.7以下版本的自建GitLab(不支持workflow:name特性),可以加一个无实际运行逻辑的前置stage,把需要展示的标识设置为stage名称:
stages: - pipeline_info - 你的原有stage1 - 你的原有stage2 # 空任务,仅用来展示标识 pipeline_info: stage: pipeline_info rules: - if: $CI_PIPELINE_SOURCE == "schedule" script: - echo "当前为定时任务$SCHEDULE_TASK_NAME,运行时间$CI_PIPELINE_CREATED_AT"
Pipeline列表会展示所有stage的状态,你可以直接通过第一个stage的名称识别不同的定时任务。
内容的提问来源于stack exchange,提问作者user149408
相关产品推荐
相关产品推荐

