如何设置授权Hudson/Jenkins来克隆你的mercurial存储库

Dav*_*vid 21 configuration mercurial hudson jenkins

安装和玩mercurial后,我试图让Hudson克隆存储库,以便它可以构建我的项目.

目前,以下任务有效.

  • 我可以同步到我的外部主机,代码显示在该主机上.

现在我正在尝试配置hudson/jenkins以访问我的主机上的代码.

但不幸的是我正在犯一个错误:

Started by user anonymous
$ hg clone --rev default https://bitbucket.org/*/testproject "F:\Hudson\jobs\testproject\workspace"
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:\Hudson\jobs\testproject\workspace"): 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
Run Code Online (Sandbox Code Playgroud)

我需要采取什么行动来告诉Hudson使用用户名x和密码y来访问数据?

编辑 =>找到如何集成ssh.

Dav*_*vid 18

使用SSH而不是https

从PuTTY网站下载putty.exe,puttygen.exe,pageant.exe和plink.exe.启动puttygen并生成一个OPENSSH FORMAT键(hudsons格式)(=> 如何使用Svn + SSH)

单击保存私钥按钮并将.PPK文件保存在某处.单击"保存"公钥按钮并保存.

转到您的网站并输入公共ssh密钥

运行pageant.exe.选美图标(戴帽子的电脑)将显示在状态托盘中.

右键单击选美图标,然后选择"添加密钥".选择您之前保存的.PPK文件并输入其密码.

以下(结束部分被复制)来自Ted Naleid(谢谢!)博客女巫可以在这里找到:把哈德森连接到你的......

在Hudson中安装Mercurial插件

剩下要做的就是在hudson中安装Mercurial插件.在浏览器中,转到 http:// INSERT_YOUR_IP_HERE:8080.哈德森应该出现.

单击"Manage Hudson"并转到"Manage Plugins".转到"可用"选项卡,选中"Hudson Mercurial插件"并点击"安装"按钮.Hudson将提示您重新启动,然后安装它.

之后,只需创建一个新作业,您将在"源代码管理"部分中有一个新的"mercurial"选项.选择该选项并将ssh URL放在"Repository URL"字段中.然后将"default"放在"branch"字段中并设置其余的工作来构建/测试你的代码(一个练习留给读者).

这是第一个成功的构建! 第一次成功构建

结论:这是分散在互联网上的所有小博客的摘要.我希望这篇文章可以帮助你开始哈德森和mercurial.


jav*_*nna 6

我认为问题与用户名和密码无关.您的stacktrace告诉您路径有问题F:\Hudson\jobs\testproject\workspace.

无法运行程序hg(在目录"F:\ Hudson\jobs\testproject\workspace"中)

目录名称无效

无论如何,您可以在URL中指定用户名和密码,如:http://user:password@mydomain.org.