【问题标题】:Does Azure DevOps Pipelines cache some data accross runsAzure DevOps Pipelines 是否缓存一些跨运行的数据
【发布时间】:2020-08-18 20:13:49
【问题描述】:

我是 Azure DevOps 和管道的新手,在短时间内多次运行同一管道时遇到了问题。

简而言之,我创建了一个管道来简单地使用 MSBuild 构建一个 .Net 项目并生成一个工件。管道在主分支更改时触发。

第一次成功了,我可以下载工件并执行程序,没有任何问题。现在,如果我在 5 分钟后在主分支中进行更改,向我的程序添加一个选项,管道将成功运行,但是当运行存储在生成的工件中的程序时,我的新选项不存在。

我可能在那里做了一些愚蠢的事情,但我不明白我为什么会有这种行为。

是否有任何类型的缓存,我怎样才能每次都有新的构建?

== 编辑 ==

这是我要求的 YAML 定义

基本上,步骤是:

  1. 包含所有子模块的结帐解决方案
  2. 适用于所有必需项目的 Nuget 恢复包
  3. MSBuild 任务
  4. 存档输出
  5. 发布工件。
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


【解决方案1】:

好的,我想我明白会发生什么。

我所做的是提交并推送构建所需的所有子模块。但是我没有提交解决方案本身的修改。通过这样做,它可以工作。

我现在不明白为什么,我猜这与结帐任务的工作方式有关。

【讨论】:

  • 你修好了真是太好了。您可以接受自己的答案。
猜你喜欢
  • 1970-01-01
  • 2022-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-15
  • 1970-01-01
相关资源
最近更新 更多