我对这个管道非常陌生,我正在尝试构建一种自动化的方法来为我的应用程序构建.msi
安装程序文件。
我有两个项目.Net Core
和Python
,所以我创建了两个管道。.Net Core管道将构建并保存文件到一个位置,Python管道使用这些文件(从位置)作为其依赖项并构建一个新的.msi
文件,管道newsetup.py
的最后一部分构建.msi
,我将向其传递.Net Core管道输出文件的位置。
我得到的错误是Artifact dropcli was not found for build 150.
.Net Core管道脚本:
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(Build.ArtifactStagingDirectory)\WebApp.zip" /p:DeployIisAppPath="Default Web Site"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)'
artifact: 'dropcli'
publishLocation: 'pipeline'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
Python管道脚本:
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'current'
artifactName: 'dropcli'
targetPath: '$(Pipeline.Workspace)'
- task: PythonScript@0
inputs:
scriptSource: 'filePath'
scriptPath: 'src/python/newsetup.py'
arguments: 'bdist_msi $(Pipeline.Workspace)'
另外,如果我在某个地方指定了构建号,当创建一个新的管道时,这不会是一个问题吗?或者这是一种限制?
1条答案
按热度按时间jc3wubiy1#
在
DownloadPipelineArtifact@2
任务中,buildType
的值为current
。这意味着您正在当前运行中下载工件。您应该将buildType
设置为specific
。下面是一个从特定管道下载最新工件的示例:您可以点击任务顶部的“设置”,它将帮助您更轻松地完成任务。
有关此任务参数的详细信息,请单击“下载管道工件”任务。
如果我在某个地方指定了构建号,当创建新的管道时,这不会是一个问题吗?或者这是一种限制?
您不需要指定内部版本号,您需要指定的是管道定义id。您可以下载管道的最新工件,也可以下载管道的特定构建的工件。