【发布时间】:2022-08-17 13:24:25
【问题描述】:
我正在构建一个多阶段管道,其中我的构建阶段将单个文件存储为管道工件。在部署阶段,工件会自动下载,我需要文件名才能继续执行以下步骤。
目前,我正在将存储为构建工件的文件名作为变量发布。我想知道download 任务是否能够提供文件名,以便我可以进一步分离构建和部署阶段。
这就是我现在正在使用的:
- bash: |
jarFile=`ls -1 *.jar`
echo \"##vso[task.setvariable variable=jarFile;isOutput=true]${jarFile}\"
workingDirectory: target
name: mavenTarget
displayName: Finds name of built `.jar` file
然后在部署阶段:
variables:
- name: jarFile
value: $[ stageDependencies.ci.build.outputs[\'mavenTarget.jarFile\'] ]
-
您能否提供更多详细信息,您的代码有效吗?如果不是,那是什么症状?至少,根据official example,语法似乎很好,当然如果您可以提供没有敏感信息的完整代码,那就太好了。
-
我发布的代码有效,我只是想知道我是否过于复杂,因为一些管道任务已经设置了有用的输出变量。例如,
DownloadSecureFile导出secureFile属性。如果download给了我下载的工件的名称,我可以消除阶段之间的依赖。
标签: azure-devops azure-pipelines azure-pipelines-yaml azure-pipelines-tasks