Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Continuous integration 版本管理中的VST如何检索最后一条提交消息_Continuous Integration_Azure Devops_Azure Pipelines_Continuous Deployment_Azure Pipelines Release Pipeline - Fatal编程技术网

Continuous integration 版本管理中的VST如何检索最后一条提交消息

Continuous integration 版本管理中的VST如何检索最后一条提交消息,continuous-integration,azure-devops,azure-pipelines,continuous-deployment,azure-pipelines-release-pipeline,Continuous Integration,Azure Devops,Azure Pipelines,Continuous Deployment,Azure Pipelines Release Pipeline,我知道在构建任务中,您可以使用$(Build.SourceVersionMessage)获取提交消息,但是如果您想从发布任务中获取相同的消息呢 或者如何将该值作为变量传递给发布管道?非常感谢你 您可以使用RESTAPI检索它。您拥有构建ID,因此可以轻松地进行RESTAPI调用,以检索该构建的提交消息 然而,让我给你们留下一些思考的食物。我不知道你对提交消息做了什么,所以下面的内容可能与此无关,但如果是 如果构建之间存在多个提交,该怎么办?您将只获得最新的提交消息,而不是未生成的提交的提交消息

我知道在构建任务中,您可以使用$(Build.SourceVersionMessage)获取提交消息,但是如果您想从发布任务中获取相同的消息呢


或者如何将该值作为变量传递给发布管道?非常感谢你

您可以使用RESTAPI检索它。您拥有构建ID,因此可以轻松地进行RESTAPI调用,以检索该构建的提交消息

然而,让我给你们留下一些思考的食物。我不知道你对提交消息做了什么,所以下面的内容可能与此无关,但如果是

  • 如果构建之间存在多个提交,该怎么办?您将只获得最新的提交消息,而不是未生成的提交的提交消息
  • 如果版本之间存在多个构建,该怎么办
  • 如果有多个版本,但大多数构建并不是针对每个环境,该怎么办?例如,环境2是环境1后面的10个构建

如果提交、构建、发布和发布到该发布管道中的每个环境之间的关系不到1:1,那么最终将丢失提交消息。可能大多数版本,尤其是在发布管道中的更高环境中(即使每个版本都部署到管道中的第一个环境,大多数版本也可能不会升级到管道中的最后一个环境)。

您可以使用REST API检索它。您拥有构建ID,因此可以轻松地进行RESTAPI调用,以检索该构建的提交消息

然而,让我给你们留下一些思考的食物。我不知道你对提交消息做了什么,所以下面的内容可能与此无关,但如果是

  • 如果构建之间存在多个提交,该怎么办?您将只获得最新的提交消息,而不是未生成的提交的提交消息
  • 如果版本之间存在多个构建,该怎么办
  • 如果有多个版本,但大多数构建并不是针对每个环境,该怎么办?例如,环境2是环境1后面的10个构建
如果提交、构建、发布和发布到该发布管道中的每个环境之间的关系不到1:1,那么最终将丢失提交消息。可能大多数版本,尤其是在发布管道中的更高环境中(即使每个版本都部署到管道中的第一个环境,大多数版本也可能不会升级到管道中的最后一个环境)。

请看Martin Hinshelwood的文章

这些任务基本上允许您将变量子集导出到构建中的JSON文件中,将其作为工件发布,然后再次从发布版中的JSON导入变量。我经常将这些任务与GitVersion结合使用,以获取从构建到发布的详细版本信息

看看马丁·辛谢尔伍德的作品

这些任务基本上允许您将变量子集导出到构建中的JSON文件中,将其作为工件发布,然后再次从发布版中的JSON导入变量。我经常将这些任务与GitVersion结合使用,以获取从构建到发布的详细版本信息

您可以添加无代理阶段

并添加一个调用RESTAPI任务

另一个想法是,您可以使用$(Build.SourceVersionMessage)获取消息,并将其作为工件提供给发布过程,例如,以在构建期间创建的纯文本文件编写,并使用发布工件任务发布。

您可以添加无代理阶段

并添加一个调用RESTAPI任务


另一个想法是,您可以使用$(Build.SourceVersionMessage)获取消息,并将其作为工件提供给发布过程,例如,在构建期间创建的纯文本文件中编写,并使用发布工件任务发布。

我需要根据提交消息添加一个条件,但您是对的。。。如果我采用这种方法,我会一团糟,我最终使用powershell脚本来测试是否生成了工件。。。。如果不是。。。。将在发布管理中跳过该任务。(注意:我的构建管道基于提交消息中的一个词发布工件,这就是为什么我试图在RM中使用相同的逻辑,但我的解决方案干净快速:D非常感谢您的回答,这让我对我的问题有了不同的想法)我需要基于提交消息添加一个条件,但您是对的。。。如果我采用这种方法,我会一团糟,我最终使用powershell脚本来测试是否生成了工件。。。。如果不是。。。。将在发布管理中跳过该任务。(注意:我的构建管道发布工件基于提交消息中的一个词,这就是为什么我试图在RM中使用相同的逻辑,但我的解决方案干净快速:D非常感谢你的回答,这让我对我的问题有了不同的想法)谢谢你,我要测试它:D,奇怪的是,谷歌没有在搜索结果中为我带来那个扩展!谢谢,我要测试一下:D,奇怪的是谷歌没有在搜索结果中给我带来那个扩展!