На машине сборки одного из проектов под windows настроен cygwin. С помощью cygwin можно реализовать доступ по ssh к виндовой машине, что значительно упрощает конфигурацию и поддержку, в том числе удаленную, по сравнении с rdp. Также в этом случае обеспечивается надежное подключение jenkins к слейву на windows. Т.к. при использовании в jenkins для запуска слейва виндовые режимы Start as windows service или JavaWeb Start наблюдалась нестабильность: слейв стартовал через раз, не всегда начинал выполнять задачу после запуска и тд. Исправлялось только перезагрузкой сервиса jenkins.
При использовании cygwin для выполнения задач сборки по ssh для некоторых проектов пришлось бороться с одной особенностью. В процессе сборки требовалось выкачать зависимость проекта из другого git-репозитория. При этом для реализации автоматизированной сборки вводить логин и пароль нецелессобразно. git под win поддерживает несколько способов сохранения пароля : git config --global credential.helper ...(store,manager и тд, см. https://git-scm.com/docs/gitcredentials). При использовании manager используется внешнее приложение, которое интегрировано с "бумажником" windows. Но этот способ не работает при подключении по ssh. Вместо него отлично работает helper store.
Заметки:
1. Если ~/.git-credentials не может создаться из-за невозможности запросить пароль из консоли (глюк ssh cygwin tty?), то просто создайте вручную с логином и паролем в виде https://USERNAME:PASSWORD@host.
2. Убедитесь, что helper настроен один и системный его не переопределяет
git config --list --show-origin
Заметки:
1. Если ~/.git-credentials не может создаться из-за невозможности запросить пароль из консоли (глюк ssh cygwin tty?), то просто создайте вручную с логином и паролем в виде https://USERNAME:PASSWORD@host.
2. Убедитесь, что helper настроен один и системный его не переопределяет
git config --list --show-origin
Комментариев нет:
Отправить комментарий