如何在Azure DevOps Classic发布流水线的文件名中插入格式化日期
Azure DevOps Classic 发布流水线给压缩包追加格式化日期方案
注意:本方案仅适配Azure DevOps Classic UI,不涉及YAML模式。
经典发布流水线不支持直接在「变量」选项卡使用$(Date:yyyyMMdd)这类Build流水线可用的内置日期格式表达式,因此需要通过前置PowerShell任务生成日期变量的方式实现,具体操作步骤如下:
- 步骤1:在发布流水线对应代理作业的最前端,添加PowerShell任务,任务执行顺序必须早于Archive归档任务
- 步骤2:在PowerShell任务的脚本输入框中填入如下代码:
# 生成指定格式的日期字符串 $formattedDate = Get-Date -Format "yyyyMMdd_HHmmss" # 将字符串输出为流水线全局变量,变量名为FormattedDate Write-Host "##vso[task.setvariable variable=FormattedDate]$formattedDate"
- 步骤3:检查发布流水线的「变量」选项卡,确认没有创建名为
FormattedDate的同名变量,存在则删除,避免变量调用冲突 - 步骤4:打开Archive任务配置,在输出文件名栏直接填入
MyBackupFile_$(FormattedDate).zip即可,流水线运行时会自动将$(FormattedDate)替换为实际的时间戳
可选调整说明
- 如果需要使用指定时区的时间,可修改PowerShell脚本的日期生成逻辑,比如使用北京时间可调整为:
$formattedDate = (Get-Date).AddHours(8).ToString("yyyyMMdd_HHmmss")
- 可自行修改
-Format后的格式字符串,比如不需要秒级标识可直接去掉ss字段,生成MyBackupFile_20211022_0805.zip这类格式的文件名
内容的提问来源于stack exchange,提问作者greg
相关产品推荐
相关产品推荐

