2

好的,所以我花了数年时间尝试设置这个詹金斯服务器,但到处都是错误。大多数答案都是针对 linux 的,这个 jenkins 服务器在 windows 上(如果你知道如何在 linux jenkins 上设置 msbuild 的话)。

服务器已按应有的方式设置,我正在做的最后一件超级超级基本的事情是尝试从 aws codecommit 中提取 repo,我拥有正确的角色和凭据。

我收到这条消息

Jenkins Failed to connect to repository :
"git.exe ls-remote -h https://repo-url HEAD" Command  returned status code 128:

它接着说

stderr: fatal: unable to access 'https://repo-url': The requested URL returned error: 403

但是,将相同的命令复制到 cmd 窗口中,它工作得很好。

有一个名为 的插件codecommit-url-helper,它也被安装并尝试过,它所做的只是大大降低了我的希望和梦想。

如果您的解决方案涉及 jenkins cli,请知道我也尝试过,但是:

C:\Users\Administrator\Downloads> java -jar jenkins-cli.jar -s http://localhost:8080/ help
Sep 21, 2016 2:14:33 PM hudson.remoting.SynchronousCommandTransport$ReaderThread run
SEVERE: I/O error in channel Chunked connection to http://localhost:8080/cli

[更新]

对于那些想知道我最终做了两件事git config --system的人,使用角色配置凭据,然后我在“Git 插件”下的詹金斯系统设置中添加了全局用户名和电子邮件,其中一个做到了。

4

3 回答 3

1

另一种选择是利用 IAM 用户及其 Codecommit https 凭证。

因此,您可以将这些凭据添加到 Jenkins。然后,在 Jenkins 作业中,您可以将它们设置为在从该存储库中签出时使用。

但请记住,应控制 IAM 权限。您可以简单地允许该 IAM 用户拥有对 Codecommit 的完全访问权限。

您也可以在编写 Jenkins 管道时使用这些凭据。

希望这可以帮助。

于 2017-10-09T06:44:38.387 回答
0

RejeeshChandran的回答是解决问题的一个很好的提示。我为完成它而执行的实际步骤:

1) 使用此处提供的说明生成新的 SSH 密钥并将其添加到 ssh-agent

2)重启Jenkins服务

3)git.exe ls-remote -h https://repo-url HEAD命令现在在 Jenkins 中运行良好

于 2017-09-28T13:37:59.713 回答
0

最好使用 SSH 密钥。SSH 密钥是一种无需密码即可识别受信任计算机的方法。您可以生成 SSH 密钥并将公钥添加到您的 GitHub 帐户。请查看如何在 Github 中生成 SSH 以获取更多详细信息

于 2016-09-21T18:25:32.967 回答