Bash 测试文件名的Gitlab CI日期变量

Bash 测试文件名的Gitlab CI日期变量,bash,yaml,gitlab,gitlab-ci,gitlab-ci-runner,Bash,Yaml,Gitlab,Gitlab Ci,Gitlab Ci Runner,我的程序有一个日志文件,它在完成时输出。我希望输出文件以运行日期命名 我尝试设置一个日期变量,并将其添加到行中。他说它能正常工作,但我不喜欢这种方法 我当前的gitlab-ci.yml variables: MyProjectEXE: My\Project\myproject.exe MSBuild: C:\Path\to\my\MSBuild.exe Solution: C:\Path\to\my\project.sln stages: - build

我的程序有一个日志文件,它在完成时输出。我希望输出文件以运行日期命名

我尝试设置一个日期变量,并将其添加到行中。他说它能正常工作,但我不喜欢这种方法

我当前的gitlab-ci.yml

variables:
    MyProjectEXE: My\Project\myproject.exe
    MSBuild: C:\Path\to\my\MSBuild.exe
    Solution: C:\Path\to\my\project.sln

stages:
    - build
    - test

build:
    stage: build
    script: '"%MSBuild%" "%Solution%"'

test:
    stage: test
    script:
    - '"%MSBuild%" "%Solution%"'
    - '%MyProjectEXE%" --results C:\path\to\my\results\log-$(date + \"%Y%m%d-%H%M%S\").csv
测试中的第二个脚本只输出一个名为

C:\path\to\my\results\log-$(date

我尝试过创建一个变量,将日期放在顶部,并将其放在那里,我尝试过在日志文件名周围使用各种形式的引号

这可以解决您的问题

使用CI_作业_已启动

  • “%MyProjectEXE%”--结果C:\path\to\my\results\log-${CI\u JOB\u STARTED}.csv

或者当前在before语句中,您正在Windows CI运行程序上执行此操作?是的,它是Windows CI运行程序。最后一行对
%MyProjectEXE%
的引用已失效。可能与此有关。