Компресс-архив с выпуском TFS 2015 - PullRequest
0 голосов
/ 26 июня 2018

У меня проблема с линией Compress-Archive cmd. Мне нужно сжать файлы отбрасывания (некоторые файлы) и отправить сжатый .rar в хранилище BLOB-объектов Azure.

В VSTS у нас есть задача сжатия по умолчанию, которая мне подходит, но в TFS 2015 я использую powershell cmd

Compress-Archive -Path $(Build.ArtifactStagingDirectory)\* -DestinationPath $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip

Я закончил. с ошибкой

2018-06-26T17: 29: 08.5918176Z Создание сценария. 2018-06-26T17: 29: 08.5918734Z Отформатированная команда:. 'D: \ а \ 1 \ s \ arch.ps1' 2018-06-26T17: 29: 09.3003116Z ## [команда] "C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'D: \ a_temp \ e2b5fc08-c599-49ec-bbd6-8a4a69f8d977.ps1» 2018-06-26T17: 29: 14.3345598Z Build.ArtifactStagingDirectory: термин «Build.ArtifactStagingDirectory» не распознается как имя командлета, 2018-06-26T17: 29: 14.3345966Z функция, файл сценария или работоспособная программа. Проверьте правильность написания имени или, если был указан путь, убедитесь, что 2018-06-26T17: 29: 14.3346099Z путь правильный и повторите попытку. 2018-06-26T17: 29: 14.3346952Z При D: \ a \ 1 \ s \ arch.ps1: 5 char: 47 2018-06-26T17: 29: 14.3347355Z + ... e -Path. * -DestinationPath $ (Build.ArtifactStagingDirectory) / $ (Buil ... 2018-06-26T17: 29: 14.3348520Z + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2018-06-26T17: 29: 14.3348782Z + CategoryInfo: ObjectNotFound: (Build.ArtifactStagingDirectory: String) [], ParentContainsErrorRecordExc 2018-06-26T17: 29: 14.3348968Z 2018-06-26T17: 29: 14.3349135Z + FullyQualifiedErrorId: CommandNotFoundException 2018-06-26T17: 29: 14.3349466Z
2018-06-26T17: 29: 14.5676478Z ## [ошибка] PowerShell завершил работу с кодом «1».

Как я могу получить доступ к переменным сборки в моем скрипте powershell? может кто-нибудь направить меня, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Информация об ошибке CommandNotFoundException , вы можете использовать неправильный формат команды-- Compress-Archive . Попробуйте изменить $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip на $(Build.ArtifactStagingDirectory)\$(Build.BuildId).zip

Помимо того, как получить доступ к переменным сборки в TFS, вы должны сначала пройти этот официальный учебник .

enter image description here

Если вы хотите использовать сценарии PowerShell для переменных среды, вам следует использовать формат $env:BUILD_DEFINITIONNAME.

0 голосов
/ 26 июня 2018

Предполагается, что вы используете более новую систему сборки, представленную в TFS 2015, а не сборку XAML.

Эти значения сохраняются как переменные среды при запуске в скрипте. К ним можно получить доступ, например, следующим образом: $env:Build_ArtifactStagingDirectory

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...