Комментарии 23
Тут проблема скорее не в службе, а в том что для запуска UI тестов нужен залогиненный пользователь и запущенный десктоп.
- Залогиненость решается наверное свойствами службы вкладкой «Вход в систему» и вводом логина и пароля.
- При выключенном десктопе мало что будет работать
Вы сами-то настраивали запуск GUI-тестов на windows-машине? Нужен запущенный рабочий стол — именно этого у службы нет. Консольным тестам это неважно, а gui — важно. Вот к примеру первая ссылка в гугле по запросу «jenkins run gui tests»:
http://stackoverflow.com/questions/19441324/how-to-run-gui-tests-on-a-jenkins-windows-slave-without-remote-desktop-connectio
http://stackoverflow.com/questions/19441324/how-to-run-gui-tests-on-a-jenkins-windows-slave-without-remote-desktop-connectio
Служба может запускаться от имени системы, текущего пользователя или дополнительно созданного, но запуску GUI-тестов это не помогло, хотя запустить какое-нибудь графическое приложение так получалось.
кажется у Jenkins были агенты которые можно запускать на отдельных хостах или я путаю?
у нас GoCd, у него агенты, и для запуска UI-тестов есть виртуалки, с автологином, и запуском агента из «Автозапуска». Сам же GoCd при это работает на линуксовой машине.
у нас GoCd, у него агенты, и для запуска UI-тестов есть виртуалки, с автологином, и запуском агента из «Автозапуска». Сам же GoCd при это работает на линуксовой машине.
А чем не устроил TeamCity?
По беглому впечатлению от Jenkins ТС в разы лучше.
По беглому впечатлению от Jenkins ТС в разы лучше.
concourse.ci в качестве альтернативы не рассматривали?
https://concourse.ci/concourse-vs.html
https://concourse.ci/concourse-vs.html
Есть ещё declarative pipeline в jenkins (по быстрому глянуть можно https://jenkins.io/blog/2017/02/07/declarative-maven-project ). Шаги сборки не на web страничке конфигурируются, а в файле, лежащем в одном с кодом репозитории
Pipeline as a code появилась в апреле 2016. Использую на части job-ов, есть свои плюсы (файл лежит в том же репозитории, его изменения традиционно отслеживаются системой контроля версий, переносимость), и минусы (неполная и порой неоднозначная поддержка плагинами, большая трудоёмкость создания такого job-а)
Примерно так выглядят команды в конфигах Jenkins'а:
Чтобы не править xml руками, можно использовать Job DSL и/или Pipeline
Будет выглядеть как-то так
...
steps {
batchFile('''CD "%BUILD_FOLDERS%\Builder"
PVS-Studio_setup.exe /VERYSILENT /SUPPRESSMSGBOXES ...
Publisher_setup.exe /VERYSILENT /SUPPRESSMSGBOXES''')
}
...
Плюсы — наглядность конфигов
Минусы — для нетривиальных случаев надо знать особенности Groovy
А зачем вообще править конфиги jenkins руками?
Незачем. Через WEB очень удобно. Не соглашусь, что править конфиги руками в общем случае это зло, но у Jenkins они действительно не предназначены для этого.
Да ладно? По мне, так какой угодно конфиг лучше чем этот веб-интерфейс.
Чтобы поднять 10 стендов — в конфиге надо сделать 10 копи-паст и заменить параметры. А в веб-интерфейсе это — полдня тыканья мышкой.
Так ДевОпс же… Configuration as Code, нее?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Переход с CruiseControl.NET на Jenkins в команде разработчиков PVS-Studio