【问题标题】:How can I copy just new and changed files with an Azure Devops pipeline?如何使用 Azure Devops 管道仅复制新的和更改的文件?
【发布时间】:2020-09-29 05:36:15
【问题描述】:

我有一个大型(大量依赖项,数千个文件)nodejs 应用程序,我正在使用 Azure Devops YAML 构建和 Azure Devops“经典编辑器”发布管道进行部署。

有没有办法在文件复制期间复制新的和更改的文件,而不是每个文件?我的目标是减少完成部署的复制文件步骤所需的时间,因为我经常部署,但通常只更改一个或几个文件。

【问题讨论】:

  • 无法获取您的最新信息,该解决方法对您有帮助吗?或者,如果您有任何疑问,请随时在此处分享。

标签: azure-devops azure-pipelines


【解决方案1】:

关于仅将更改的文件复制到工件中进行发布,如果更改的文件在特定文件夹中,您可以通过在Copy Files 任务中指定SourceFolderContents 参数来复制指定文件夹中的文件。

如果更改的文件分布在不同的文件夹中,恐怕在使用copy filePublishArtifacts任务时没有开箱即用的方法只选择更改的文件。

作为解决方法,我们可以添加 powershell 任务来删除时间戳为 case。

或者,您可以通过powershell任务中的脚本调用Commits-Get Changesrest api,然后在响应中检索更改的文件,然后将它们复制到特定的目标文件夹。

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}/changes?api-version=5.0

【讨论】:

  • 谢谢,使用 commits-get=changes API 调用的想法很好,我会试试的。
猜你喜欢
  • 1970-01-01
  • 2020-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多