我在teamcity中添加了一个项目,需要添加一个powershell脚本来更改一些配置设置并生成压缩工件。我已经在teamcity之外构建并测试了脚本文件,但是为了使它在构建期间工作,我需要获得构建工件的路径。
有没有办法在c:\artifacts\myproject\build\38
下面的代码中使用teamcity参数替换,该参数总是会获取最新的构建目录?
#Find and replace various app.config settings
$location = C:\Artifacts\MyProject\Build\38\myApp\myConfig.config";
(Get-Content $location) |
ForEach-Object { $_ -replace '<add key="platform" value="xxxx"/>', '<add key="platform" value="test"/>' } |
Set-Content $location
#Should take source directory and create a zip file from it
$source = "C:\Artifacts\MyProject\Build\38\myApp\"
$destination = "C:\Artifacts\FrontOfficeApi\Build\38\artifact.zip"
GenerateZipFile -DestinationFilePath $destination -SourcePath $source
非常感谢
答案 0 :(得分:0)
$buildDirectory = "%teamcity.build.checkoutDir%"
将为您提供已检出源代码的目录,以便您可以从那里相对工作。如果您将PowerShell作为源代码运行,则可以使用相同的变量将参数传递到PowerShell脚本。
希望这有帮助