Проблемы Jenkins - как получить доступ к глобальным переменным в файле MSBuild и как отправить почту при выполнении условия

  1. По какой-то причине мне нужно получить доступ к глобальным переменным среды Jenkins, таким как BUILD ID и т. Д., В моем файле MSBuild, но я не знаю, как это сделать.

  2. После запуска моего проекта NUnit я создаю определенный отчет, файл PDF, но могут быть случаи, когда этот файл не создается (например, когда нет данных для отображения), поэтому я должен проверить, существует ли этот отчет или нет, и если да, тогда я должен прикрепить его по почте и отправить каким-то ребятам. Я использую плагин Email-ext для Jenkins, но не знаю, как проверить это условие.

Что вы предлагаете мне сделать для этих проблем?

Заранее спасибо.


person Kumar Vaibhav    schedule 26.06.2012    source источник


Ответы (1)


  1. Не знаю, как работает Jenkins, но должен быть какой-то способ передать дополнительные параметры командной строки. Чтобы передать глобальную переменную Jenkins, добавьте /p: переключитесь в командную строку MSBuild. Допустим, JenkinsVersion — это глобальная переменная в Jenkins. Вы можете передать его в MSBuild с помощью /p:MsBuildJenkinsVariable=JenkinsVersion . Свойство MsBuild $(MsBuildJenkinsVariable) теперь должно быть заполнено JenkinsVersion.

  2. Я знаю, что ты хочешь каким-то образом поставить условия Дженкинсу. Если это невозможно сделать в Jenkins, вы можете сделать это с помощью скрипта MSbuild. Я использую MSBuild.ExtensionPack.Communication .Email Задача MSBuild для отправки уведомлений по электронной почте. Установите свойство Условие задачи Электронная почта для отправки электронной почты, когда файл отчета не существует.

person Ludwo    schedule 26.06.2012
comment
Я пытаюсь использовать задачу электронной почты, но не могу отправить почту. Я использую следующую конфигурацию ‹MSBuild.ExtensionPack.Communication.Email TaskAction=Send Subject=Test Email SmtpServer=smtp.gmail.com [email protected] [email protected] Body=body text UseDefaultCredentials=false UserName= [email protected] UserPassword=мой пароль EnableSsl=true Format=HTML /› - person Kumar Vaibhav; 03.07.2012
comment
Запустите MSBuild с подробностями диагностики /v:diag. Попробуйте временно отключить брандмауэр, антивирус и т. д. Или спросите прямо здесь msbuildextensionpack.codeplex.com/discussions - person Ludwo; 03.07.2012
comment
Это дает следующие результаты - SmtpException : Ошибка отправки результата. WebException: невозможно подключиться к удаленному серверу. SocketException : была предпринята попытка доступа к сокету способом, запрещенным его разрешениями на доступ 173.194.77.109 : 25 ... действительно разочарован этим. - person Kumar Vaibhav; 03.07.2012
comment
С портом 465 он выдает ошибку времени ожидания smtp, но с портом 587 выдает ту же ошибку, что и выше. - person Kumar Vaibhav; 03.07.2012
comment
Вы пытались отключить брандмауэр? - person Ludwo; 03.07.2012
comment
Я вижу, что используемый MSBuildBinPath — это C:\Windows\Microsoft.Net\v2.0 и v4.0. Почему это? Могу ли я изменить его? - person Kumar Vaibhav; 03.07.2012