Как настроить авторизацию Hudson /Jenkins для клонирования вашего репозитория mercurial
после установки и игры с mercurial я пытаюсь заставить Hudson клонировать репозиторий, чтобы он мог построить мой проект.
на данный момент работает следующая задача.
- Я могу синхронизировать с моим внешним хостом, и код появляется на этом хосте.
теперь я пытаюсь настроить hudson / jenkins для доступа к коду на моем хосте.
но, к сожалению, я качусь по ошибке:
Started by user anonymous
$ hg clone --rev default https://bitbucket.org/*/testproject "F:Hudsonjobstestprojectworkspace"
abort: http authorization required
ERROR: Failed to clone https://bitbucket.org/*/testproject
[workspace] $ hg log --rev . --template {node}
java.io.IOException: Cannot run program "hg" (in directory "F:Hudsonjobstestprojectworkspace"): CreateProcess error=267, The directory name is invalid
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:698)
at hudson.Launcher$ProcStarter.start(Launcher.java:329)
at hudson.Launcher$ProcStarter.join(Launcher.java:336)
at hudson.plugins.mercurial.MercurialSCM.joinWithPossibleTimeout(MercurialSCM.java:298)
at hudson.plugins.mercurial.HgExe.popen(HgExe.java:191)
at hudson.plugins.mercurial.HgExe.tip(HgExe.java:171)
at hudson.plugins.mercurial.MercurialSCM.calcRevisionsFromBuild(MercurialSCM.java:254)
at hudson.scm.SCM._calcRevisionsFromBuild(SCM.java:304)
at hudson.model.AbstractProject.calcPollingBaseline(AbstractProject.java:1186)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1175)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:523)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:418)
at hudson.model.Run.run(Run.java:1362)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:145)
Caused by: java.io.IOException: CreateProcess error=267, The directory name is invalid
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 18 more
Finished: FAILURE
какие действия мне нужно сделать, чтобы сказать Хадсону использовать имя пользователя x и пароль y для доступа к данным?
редактировать => найдено, как интегрировать ssh .
5 ответов
используется SSH вместо https
скачать putty.exe, puttygen.ехе, конкурс.exe и plink.exe с сайта PuTTY. Запустите puttygen и сгенерируйте ключ в ФОРМАТ OPENSSH (хадсонами формат) (=> как использовать Svn + SSH )
Нажмите кнопку Сохранить закрытый ключ и сохранить .PPK файл где-то. Нажмите кнопку Сохранить открытый ключ и сохраните его.
перейдите на свой веб-сайт и введите public ssh-key
запустить конкурс.исполняемый. Значок конкурса (компьютер в шляпе)появится в области состояния.
щелкните правой кнопкой мыши значок конкурса и выберите Добавить ключ. Выбирай .PPK-файл, сохраненный ранее, и введите его парольную фразу.
следующее (конечная часть скопирована) из Ted Naleid (спасибо!) блог ведьмы можно найти здесь:подключение Хадсона к вашему ...
установите плагин Mercurial в Hudson
все, что осталось сделать сейчас, это установить плагин Mercurial в Гудзоне. В браузер, перейти к http://INSERT_YOUR_IP_HERE:8080. Хадсон должен подняться.
нажмите "Управление Хадсоном" и перейдите к "Управление Плагинами". Пойти на Вкладка "доступно", проверьте " Hudson Mercurial plugin " и нажмите Кнопка" Установить". Гудзон подскажешь вы должны перезапустить, а затем установленный.
после этого просто создайте новую работу и у тебя будет новый вариант "ртутный" в "источник управления " раздел. Выберите это и поместите ssh URL в поле "URL репозитория". Затем поместите "default" в " branch" поле и настройка остальной части задания создание / тестирование кода (упражнение слева от читателя).
и вот это первая успешная сборка !
заключение: это резюме всех небольших блогпостов, разбросанных по всему интернету. Надеюсь, этот пост поможет вам начать Хадсон и Меркуриал.
Я думаю, что проблема не связана с логином и паролем. Ваш stacktrace говорит вам, что что-то не так с путем F:\Hudson\jobs\testproject\workspace
.
не удается запустить программу hg (в каталоге "F:\Hudson\jobs\testproject\workspace")
недопустимое имя каталога
в любом случае, вы можете указать имя пользователя и пароль в URL, например: http://user:password@mydomain.org
.
для аутентификации плагина Jenkins / Hudson Mercurial с BitBucket я тоже счел полезным использовать протокол SSH вместо HTTPS, особенно с тех пор:
похоже, что нет способа сохранить ваши учетные данные HTTPS в BitBucket с помощью плагина Mercurial Jenkins, но с SSH вы можете безопасно и безопасно хранить свои учетные данные
с SSH вы можете настроить его для использования сжатия, которое Mercurial не делает прирожденно.
хорошие инструкции по настройке SSH-доступа к BitBucket доступны здесь: http://confluence.atlassian.com/display/BITBUCKET/Using+SSH+to+Access+your+Bitbucket+Repository
Примечания:
Если вы используете Jenkins / Hudson на сервере *nix, вы захотите войти в систему как пользователь, выполняющий процесс Jenkins, и выполнить эти операции из этого домашнего каталога пользователей, поэтому конфигурации будет найден этим пользователем (например, на моем сервере Debian установка Jenkins standalone, пользователь "jenkins" создан, а домашний каталог установлен в "/var/lib / jenkins" [не / home / jenkins] - где я выполнил инструкции, приведенные по приведенной выше ссылке).
Я нашел очень полезным заверить, что команда HG clone работает из командной строки, прежде чем пытаться вызвать Дженкинса.
важно: для того, чтобы получить это чтобы работать, мне пришлось сгенерировать ключ * * без * * парольной фразы.
вы можете добавить следующие строки в Jenkins .файл hgrc (обычно /var/lib/jenkins/.hgrc)
[auth]
bitbucket.prefix = https://bitbucket.org/your_user/...
bitbucket.username = your_user
bitbucket.password = ******
вы можете добавить свои учетные данные scm в разделе "Учетные данные" Дженкинса:
также измените конфигурацию задания, чтобы использовать учетные данные: