更改时间戳变量格式或执行替换



我目前正在设置用于推送 nuget 包的 ci/cd 管道。

我想将内置CI_COMMIT_TIMESTAMP用于版本后缀,但其ISO 8601格式对此无效。

示例 ISO 8601 (UTC):2022-03-15T18:34:43Z

至少需要更换冒号。

是否可以以不同的方式格式化它或进行某种文本替换?

您无法更改变量的显示方式,但可以重新格式化作业中的值。

unixdate命令可以做到这一点。例如,您可以将任何有效格式声明为所需的输出格式。

MY_JOB:
variables:
DESIRED_FORMAT: "%Y-%m-%dT%H-%M-%S"
script:
- nuget_format="$(date -d "$CI_COMMIT_TIMESTAMP" +"$DESIRED_FORMAT")"
- echo "$nuget_format" 

这将有一个如下输出:

2022-03-15T23-43-17

另一种方法是使用sed将出现的:替换为-

script:
- nuget_time_format="$(sed "s/:/-/g" <<< $CI_COMMIT_TIMESTAMP)"
- echo "$nuget_time_format"

相关内容

  • 没有找到相关文章

最新更新