使用 PS/DSC 部署时,如何在发布管理的步骤之间传递数据?

How do you pass data between steps in release management when deploying with PS/DSC?

我正在使用 MS 发布管理和 PS/DSC 部署应用程序,但中间有一个手动步骤。这给我带来了问题,因为我需要将变量从第一组 PS 脚本传递到手动步骤后执行的第二组。

我在本地使用 TFS 2015 和 RM 2015。

如果可能,我不想创建外部系统来存储数据。

有人有这方面的经验吗?

基本上,你不能。您可以转储一些 JSON 或 XML 或使用环境变量,但这并不理想。

我设法使用 API 找到了执行此操作的方法。这没有记录在案,将来可能会中断,但目前有效。警告,最小验证是在 RM 端完成的。您几乎可以更改任何内容。

您将发布 ID 作为 powershell 脚本 $ReleaseID 中的参数

有了这个,您可以使用此 GET 调用从 api 获取请求对象: http://.../account/releaseManagementService/_api/releaseManagement/ReleaseV2Service/Release?id=&api-版本=6.0

一旦你有了它,你就可以修改你的舞台的自定义变量,你不能把它传回去,它会更新变量。

使用这个API方法和post修改后的XML回来 http://.../account/releaseManagementService/_api/releaseManagement/ReleaseV2Service/SetRelease?api-version=6.0