2

在为控制器定义一个新的扩展项目后,我有两个问题:

  1. 在构建阶段,它会要求输入密码,这会导致它失败,因为它不是交互式的(从 Jenkins 运行)。

  2. 如果我从命令行运行construct.xml 并手动输入用户名和密码,它似乎工作正常,但只从github 获取主分支。

无论哪种方式,构造阶段都会结束,并且控制器无法部署到 Web 服务器。在控制器配置中我还需要做些什么来使其工作吗?

4

1 回答 1

4

首先是密码问题:

检查您是否设置了 ssh 密钥(请参阅http://help.github.com/mac-set-up-git/http://help.github.com/linux-set-up-git/)?您可以使用以下命令检查 SSH 是否正确设置:

$ ssh -T git@github.com
你好,善变!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。

接下来,如果 ssh 没问题并且您仍然遇到您描述的问题,请检查您用于远程的 url:

$ git remote -v
origin git@github.com:acountname/repo.git (fetch)
origin git@github.com:acountname/repo.git (push)

请注意,您应该使用 git 协议,而不是 https。如果错误,您可以在 Controller 配置中输入正确的 URL 并运行构建,或者从命令行可以使用以下命令更改它:

$ git config remote.origin.url git@github.com:accountname/repo.git

在内部,控制器使用“git fetch --all”。出于某种原因,这在使用 https 协议时不会获取所有分支,但 ssh 协议会。

于 2012-04-29T15:12:47.767 回答