【发布时间】:2014-04-15 12:47:44
【问题描述】:
我正在尝试按照 Axel Fontaine (http://axelfontaine.com/blog/final-nail.html) 的描述配置 Jenkins/Maven/Git 发布构建作业。我按照他的描述对我的 POM 进行了添加,并相应地配置了我的 Jenkins 工作。
在源代码管理部分,我输入了我们内部托管的 Stash 实例的存储库 URL(需要用户名和密码 - SSH 密钥不是一个选项):https://stash.mycompany.com/scm/st_proj/my_repo.git
我提供了用户名/密码凭据。
在博文中,我创建了一个 Maven 前置步骤,其目标是 versions:set -DnewVersion=$BUILD_NUMBER。
正如在博文中一样,我将构建目标设置为deploy scm:tag。
当作业执行时,我收到以下错误。
[ERROR] Provider message:
[ERROR] The git-push command failed.
[ERROR] Command output:
[ERROR]
(gnome-ssh-askpass:32706): Gtk-WARNING **: cannot open display:
error: unable to read askpass response from '/usr/libexec/openssh/gnome-ssh-askpass'
fatal: could not read Username for 'https://stash.mycompany.com': No such device or address
我意识到这是因为 Git 命令试图提示我输入用户名和密码,但由于这是作为 Jenkins 的作业运行的,因此没有任何显示器可以将提示发送到。
为什么在我之前在作业配置中设置用户名和密码时提示我输入用户名和密码?我知道它们是正确的,因为它们是克隆存储库所必需的。
【问题讨论】:
-
您是否在 settings.xml 文件中正确设置了服务器?本地以及您的 CI 系统上?
-
我是这么认为的,@khmarbaise。对于这个问题,我应该关注哪些服务器设置?
-
你有没有在你的 jenkins 服务器上手动尝试过这些东西?关于
https://stash.mycompany.com': No such device or address的提示看起来像网络问题。 -
@khmarbaise,如果我以 Jenkins 用户身份从命令行运行
git push,则会提示我输入用户名和密码。输入这些,我收到消息no changes added to commit。所以我不认为这个问题是网络问题。