首页 > 解决方案 > 如何将 devapp 属性写入 deploy.properties 文件

问题描述

我们有一个实施了 BTDF 的 biztalk 解决方案。我们正在使用 Urban 代码进行自动化。我们正在尝试在prebuild.ps1文件之间设置一个属性deploy.properties。我怎样才能做到这一点?我尝试了以下添加到prebuild.ps1文件中的代码,但没有运气。

$DeployPropertiesSrcdeploy.propeties→文件路径
$versionToUse→ 版本

echo “deployApps=@(Projectname -$versionToUse)” >> $DeployPropertiesSrc    

还尝试将一个属性从使用 PowerShell 脚本复制到属性文件:

echo “deployApps=@(Projectname)” >> $DeployPropertiesSrc 

标签: powershellbiztalk

解决方案


示例 1

假设$DeployPropertiesSrc$versionToUse变量在脚本文件中定义,您可以将以下内容添加到该脚本中:

$DeployPropertiesSrc = "<FolderPath>\deploy.properties"
$versionToUse = "10.0.2"
"deployApps=@(Projectname -$versionToUse)" | Add-Content $DeployPropertiesSrc

以下是运行代码后deploy.properties文件的内容:

Get-Content $DeployPropertiesSrc
deployApps=@(Projectname -10.0.2)

示例 2

如果变量值在您当前的范围内并且您不希望它们存储在脚本文件中,那么您可以更新您的脚本文件以使用传递给它的参数。请记住,为简单起见,我在这里使用未声明的参数。

prebuild.ps1的内容:

"deployApps=@(Projectname -$($args[0]))" | Add-Content $args[1]

然后您可以使用如下参数调用上述脚本:

& .\prebuild.ps1 "10.8" ".\deploy.properties"

或者:

$versionToUse = "7.10.3"
$DeployPropertiesSrc = "some_path\deploy.properties"
& .\prebuild.ps1 $versionToUse $DeployPropertiesSrc
  • 如果决定参数路由,我个人会选择使用命名参数。如果命名参数未设置为强制,您可以控制该代码块是否执行,甚至可以为参数分配默认值。如果将这部分脚本制成一个函数,您将获得另一个级别的控制。在没有任何参数检查的情况下使用未声明的参数可能会导致不需要的错误。有时您可能想在不带参数的情况下调用脚本,如果仅在示例 2 中添加代码块,则会出现错误。

推荐阅读