squirrel.windows 1.7.8-1.9.0 Невозможно создать файл Setup.exe и RELEASES в -releaseDir - PullRequest
0 голосов
/ 31 октября 2018

Я использую конвейер выпуска Azure DevOps для развертывания приложения 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, который запускает перевыпуск Squirrel в фоновом режиме, но поскольку белка является асинхронной (мне так сказали, и, просматривая некоторый фрагмент кода, похоже, именно так), она сразу же завершается и только **. нупкг. и ** - full.nupkg созданы. Поэтому я чувствую, что он начинает преобразовывать пакет в версию с белками, но останавливается после завершения команды powershell.

Этого не происходит, когда я вручную перевыпускаю через powershell на диске сервера. Я вижу, как файлы внутри моего рабочего каталога генерируются в следующем порядке

**. Nupkg ** - full.nupkg удаляет **. nupkg создает Setup, exe необязательный Setup.msi

Если кому-то понадобится дополнительная информация, я был бы рад поделиться. Кто-нибудь знает, достижимо ли это?

Ссылка на открытый выпуск GitHub

...