在gitlab.yml构建脚本中设置动态变量

时间:2019-02-19 20:53:39

标签: continuous-integration gitlab yaml devops

我想完成的是能够拥有一个变量,该变量以YYYY.MM.DD.FFFF(year.month.day.seconds)的格式表示日期,我可以在各个部分访问和使用我的构建脚本。我认为使用powershell和构建脚本中的variables块是可行的,但似乎并不希望实际执行该命令。如果我不在正确的轨道上,我可以灵活地达到最终目标,不必进行强力驱动,也不必参与变量块。基本上我现在想做的是

variables:
  version: Get-Date -Format yyyy.MM.dd.fffff

然后在脚本块中引用变量

- echo %version%

当然,当我引用此变量时,它会逐字输出“ Get-Date -Format yyyy.MM.dd.fffff”。我已经尝试过各种变体,例如在变量前加上“ powershell -command”,然后通过$ env:version在脚本块中调用它,但是我没有运气来获取日期输出。希望我只是想念一些愚蠢的事情...但是也许我想做的事情在这里无法完成,我只是在浪费时间?

1 个答案:

答案 0 :(得分:0)

如果您有批处理运行程序,则此解决方案有效(像我们一样)

  before_script:
- FOR /F "tokens=*" %%i IN ('powershell Get-Date -Format yyyy.MM.dd.HHmmss') DO SET VERSION=%%i
- ECHO The version is %VERSION%