访问新部署的包的库

Accessing freshly deployed package's library

部署包步骤后,我尝试从 PowerShell 脚本启动 .net 核心应用程序:

Start-Process "dotnet" -WindowStyle Hidden -ArgumentList "xxx.dll"

程序没有启动,原因似乎是当前目录不是我所期望的。阅读文档后,我的假设是当前目录设置为解压缩已部署包的文件夹。似乎并非如此...我使用 (Get-Item -Path ".\").FullName 记录了当前目录并得到了 C:\Octopus\Work180502194906-1089-109,这似乎是一个临时文件夹。

如何从部署的包中访问库?

如果你的脚本在同一个步骤,那么(Get-Location).Path应该可以

但是如果你想保留在一个单独的步骤中,那么你将需要通过八达通变量访问,比如:

$OctopusParameters['Octopus.Action[YOUR_STEP_NAME].Output.Package.InstallationDirectoryPath']

或者如果您安装到自定义目录,则:

$OctopusParameters['Octopus.Action[YOUR_STEP_NAME].Package.CustomInstallationDirectory']