关于Jenkins的Mercurial,安装和配置

xmi*_*mik 9 mercurial centos jenkins jelastic

我有一个Mercurial存储库(在Bitbucket上)和一些代码(Java),我想在基于云的Jenkins服务器上进行CI构建(在Jelastic,在CentOS上运行).我的问题是我无法在Jenkins服务器上正确安装Mercurial.

Jenkins构建失败,并显示以下消息:

错误:无法克隆https:// bitbucket_jenkins_user:some_password@bitbucket.org/repo_owner/my_repository,因为无法找到hg; 检查您是否正确配置了Mercurial安装

设置信息

  1. 它是一个私有的Mercurial存储库,由Bitbucket托管
  2. 在Bitbucket中,我已经设置了一个服务来在Push发生之后触发Jenkins构建
  3. 我在Mercurial存储库中定义了一个特定的bitbucket jenkins用户,它只具有读权限,并使用简单的https身份验证登录
  4. Jenkins在CentOS 6上的Jelastic云环境中运行Tomcat 7
  5. Mercurial插件是通过Jenkins界面,通过Manage插件安装的
  6. 构建配置为远程触发(通过Bitbucket中定义的服务)
  7. 手动启动和从推送到存储库触发时,构建结果是相同的

当我第一次这样做时,我的印象是在Jenkins中安装Mercurial插件就足够了,它还可以安装所需的Mercurial二进制文件,以便能够连接到存储库并获取代码.我意识到我错了,在Manage Jenkins/Configure System页面上我需要指定我的Mercurial安装.

问题

  • 是否可以创建没有ssh访问权限并执行"yum install mercurial"的Mercurial安装?
    • 在Jenkins界面中,选择"自动安装"选项时可以指定什么?
    • 在定义安装程序时,我已经尝试了"Extract zip/tar.gz"选项,但是我可以写什么作为"二进制存档的下载URL"?
    • Jenkins还提供"运行命令"的安装程序选项.这可能是什么样的命令,可能是"yum install ......"或"rpm ......"?

由于我的服务器是基于云的,因此获取ssh访问权限是一种付费附加组件,我宁愿避免使用它.但如果那是我唯一的选择,我当然会这样做,从而获得对服务器上运行命令的访问权限.但是,在Centos上运行"yum install mercurial"似乎只给出了Mercurial的1.4版本.当我写这个版本的当前版本是2.6.3,我是否需要自己下载源代码并自行编译或者是否可以将其作为Centos的二进制文件?

kra*_*tti 3

Mercurial 插件页面有一节介绍如何使用自动安装选项通过 ArchLinux 软件包安装 Mercurial。

\n\n
\n

“该插件支持 Mercurial 安装的通用工具自动安装方法,尽管它没有发布 Mercurial 版本的目录。对于 Linux 机器(预装了 Python)的用户,您可以使用 ArchLinux 软件包。例如,在 /configure 下Mercurial 安装,使用您喜欢的任何名称添加 Mercurial 安装,可执行文件 = INSTALLATION/bin/hg,自动安装,运行命令,标签 = linux(如果需要将此限制为使用相同标签配置的从站),命令 = [ -d usr ] || wget -q -O - http://www.archlinux.org/packages/extra/i686/mercurial/download/ | xzcat | tar xvf - (或 \xe2\x80\xa6/x86_64/\xe2\ x80\xa6 对于 64 位从属设备),Tool Home = usr,并使用与 Linux 从属设备相关的安装来配置作业。”

\n
\n\n

请参阅https://wiki.jenkins-ci.org/display/JENKINS/Mercurial+Plugin

\n