squirrel.windows 1.7.8-1.9.0 无法在 -releaseDir 中生成 Setup.exe 和 RELEASES 文件
squirrel.windows 1.7.8-1.9.0 Cannot produce Setup.exe and RELEASES file in -releaseDir
我正在使用 Azure DevOps 发布管道部署 WPF 应用程序。
在 CI 我有一个目标为 build.artifactstagingdirectory 的复制文件任务
在内容中我包括:
- src\SolutionDirectory\ProjectDirectory\bin\$(BuildConfiguration)**
- src\SolutionDirectory\ProjectDirectory\Release.nuspec
- packages\squirrel.windows.1.8.0**
CD 中有两个 PowerShell 脚本。一个用于打包操作,另一个用于发布
套餐
$exePath = "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.exe"
$version =$([System.Diagnostics.FileVersionInfo]::GetVersionInfo($exePath).FileVersion)
nuget pack .\Release.nuspec
-Version $version
-Properties Configuration=Release
-OutputDirectory .\bin\Release\
-BasePath .\bin\Release\
释放
Set-Alias squirrel "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/packages/squirrel.windows.1.**/tools/squirrel.exe"
$exePath = "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.exe"
$version =$([System.Diagnostics.FileVersionInfo]::GetVersionInfo($exePath).FileVersion )
squirrel --releasify "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.$version.nupkg" --no-msi --releaseDir $(DevDeployDir)
DevDeployDir 是一个指向本地服务器部署目录的变量。
我只能释放 .nupkg。
RELEASES 和 Setup.exe 丢失了,我还尝试在最后添加一个 Start-Sleep 命令,因为我认为释放过程也可能停止 early.No go.
它就像 Azure DevOps 上的 powershell 任务开始 运行 Squirrel 在后台释放但是因为 squirrel 是异步的(我被告知是这样的,并且通过一些代码来看它似乎是那样的) 它立即退出,只有一个 **.nupkg。并创建了一个 **-full.nupkg 。所以我觉得它开始将包转换为松鼠版本,但在 powershell 命令退出后停止。
当我通过服务器驱动器上的 powershell 手动释放时,这不会发生我可以看到我的工作目录中的文件按以下顺序生成
**.nupkg
**-full.nupkg
删除 **.nupkg
创建安装程序,exe
可选 Setup.msi
如果有人需要更多信息,我很乐意分享。有人知道这是否可以实现吗?
@Mahdi Khalili
是的,它需要是一个语义版本,这不是在安装过程中而是在发布过程中,所以松鼠日志在这里不起作用我不认为。
我们只是在发布过程中使用了等待和直通参数到 powershell 包装器。之后一切都奏效了。
我正在使用 Azure DevOps 发布管道部署 WPF 应用程序。
在 CI 我有一个目标为 build.artifactstagingdirectory 的复制文件任务 在内容中我包括: - src\SolutionDirectory\ProjectDirectory\bin\$(BuildConfiguration)** - src\SolutionDirectory\ProjectDirectory\Release.nuspec - packages\squirrel.windows.1.8.0**
CD 中有两个 PowerShell 脚本。一个用于打包操作,另一个用于发布
套餐
$exePath = "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.exe"
$version =$([System.Diagnostics.FileVersionInfo]::GetVersionInfo($exePath).FileVersion)
nuget pack .\Release.nuspec
-Version $version
-Properties Configuration=Release
-OutputDirectory .\bin\Release\
-BasePath .\bin\Release\
释放
Set-Alias squirrel "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/packages/squirrel.windows.1.**/tools/squirrel.exe"
$exePath = "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.exe"
$version =$([System.Diagnostics.FileVersionInfo]::GetVersionInfo($exePath).FileVersion )
squirrel --releasify "$(System.DefaultWorkingDirectory)/_ArtifactName/drop/src/SolutionDirectory/ProjectDirectory/bin/Release/Project.$version.nupkg" --no-msi --releaseDir $(DevDeployDir)
DevDeployDir 是一个指向本地服务器部署目录的变量。
我只能释放 .nupkg。 RELEASES 和 Setup.exe 丢失了,我还尝试在最后添加一个 Start-Sleep 命令,因为我认为释放过程也可能停止 early.No go.
它就像 Azure DevOps 上的 powershell 任务开始 运行 Squirrel 在后台释放但是因为 squirrel 是异步的(我被告知是这样的,并且通过一些代码来看它似乎是那样的) 它立即退出,只有一个 **.nupkg。并创建了一个 **-full.nupkg 。所以我觉得它开始将包转换为松鼠版本,但在 powershell 命令退出后停止。
当我通过服务器驱动器上的 powershell 手动释放时,这不会发生我可以看到我的工作目录中的文件按以下顺序生成
**.nupkg **-full.nupkg 删除 **.nupkg 创建安装程序,exe 可选 Setup.msi
如果有人需要更多信息,我很乐意分享。有人知道这是否可以实现吗?
@Mahdi Khalili
是的,它需要是一个语义版本,这不是在安装过程中而是在发布过程中,所以松鼠日志在这里不起作用我不认为。
我们只是在发布过程中使用了等待和直通参数到 powershell 包装器。之后一切都奏效了。