squirrel.windows 1.7.8-1.9.0 Невозможно создать файл Setup.exe и RELEASES в -releaseDir
Я использую конвейер выпуска DevOps Azure для развертывания приложения WPF.
В CI у меня есть задача копирования файлов с целью создания build.artifactstagingdirectory. В содержимое я включаю: - src\SolutionDirectory\ProjectDirectory\bin\$(BuildConfiguration)** - src\SolutionDirectory\ProjectDirectory\Release.nuspec - packages\squirrel.windows.1.8.0**
На компакт-диске у меня есть два скрипта 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\
Releasify
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 в конце, потому что я думал, что процесс освобождения может быть остановлен слишком рано.
Это похоже на задачу powershell в Azure DevOps, который запускает Slaverel Releaseasify в фоновом режиме, но, поскольку Squirrel является асинхронным (мне так сказали, и, просматривая некоторый фрагмент кода, кажется, что так), он завершается сразу и только **.nupkg. и **-full.nupkg созданы. Поэтому я чувствую, что он начинает преобразовывать пакет в версию с белками, но останавливается после завершения команды powershell.
Этого не происходит, когда я вручную освобождаю через PowerShell на диске сервера. Я вижу, что файлы в моем рабочем каталоге генерируются в следующем порядке.
**.nupkg **-full.nupkg удаляет **. nupkg создает программу установки, кроме необязательной программы Setup.msi
Если кому-то нужно больше информации, я был бы рад поделиться. Кто-нибудь знает, достижимо ли это?
0 ответов
@ Махди Халили
Да, это должна быть семантическая версия, и это не во время установки, а во время выпуска, поэтому я не думаю, что журнал squirrel здесь не будет работать.
Мы просто использовали параметры ожидания и передачи в оболочку PowerShell для процесса освобождения. Потом все заработало.