【发布时间】:2020-08-18 20:13:49
【问题描述】:
我是 Azure DevOps 和管道的新手,在短时间内多次运行同一管道时遇到了问题。
简而言之,我创建了一个管道来简单地使用 MSBuild 构建一个 .Net 项目并生成一个工件。管道在主分支更改时触发。
第一次成功了,我可以下载工件并执行程序,没有任何问题。现在,如果我在 5 分钟后在主分支中进行更改,向我的程序添加一个选项,管道将成功运行,但是当运行存储在生成的工件中的程序时,我的新选项不存在。
我可能在那里做了一些愚蠢的事情,但我不明白我为什么会有这种行为。
是否有任何类型的缓存,我怎样才能每次都有新的构建?
== 编辑 ==
这是我要求的 YAML 定义
基本上,步骤是:
- 包含所有子模块的结帐解决方案
- 适用于所有必需项目的 Nuget 恢复包
- MSBuild 任务
- 存档输出
- 发布工件。
trigger:
- master
pool:
demands: azureps
vmImage: 'windows-latest'
steps:
- checkout: "git://GSS-CMDB-Tools/GSSAM_Code"
submodules: true
persistCredentials: true
- task: NuGetCommand@2
inputs:
command: 'custom'
arguments: 'restore ADDMSync/packages.config -SolutionDirectory .'
- task: NuGetCommand@2
inputs:
command: 'custom'
arguments: 'restore GSSAM/packages.config -SolutionDirectory .'
- task: NuGetCommand@2
inputs:
command: 'custom'
arguments: 'restore GSSAM.ADDMRest/packages.config -SolutionDirectory .'
- task: NuGetCommand@2
inputs:
command: 'custom'
arguments: 'restore GSSAM.SNOWRest/packages.config -SolutionDirectory .'
- task: MSBuild@1
inputs:
solution: 'ADDMSync/ADDMSync.csproj'
msbuildArchitecture: 'x64'
configuration: 'Release'
msbuildArguments: '/p:PostBuildEvent='
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
# Write your PowerShell commands here.
mv ADDMSync/bin/Release ADDMSync/Bin/ADDMSync
rm ADDMSync/bin/ADDMSync/*.pdb
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: 'ADDMSync/bin/ADDMSync'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/ADDMSync.zip'
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/ADDMSync.zip'
ArtifactName: 'ADDMSync'
publishLocation: 'Container'
非常感谢
雷米
【问题讨论】:
-
肯定不是缓存造成的。将新代理分配给请求时,您将获得已清理的版本。自托管代理可能会有所不同。但这不是你的情况吗?你能添加你的 YAML 定义吗?
标签: azure azure-devops azure-pipelines