我希望Jenkins从托管在Github上的私有存储库自动获取数据。但是我不知道如何完成该任务。尝试了文档,为jenkins用户生成了ssh-
key,我所看到的就是:“无法克隆存储库”。我已经检查过网址-它们是有效的。
任何线索,也许您知道一些描述此类内容的文档/博客/内容?
也许GitHub 对您正在寻找的部署密钥提供支持?引用该页面:
什么时候应该使用部署密钥?
很简单,当您的服务器需要对单个私有存储库的访问权限。该密钥直接附加到存储库,而不是个人用户帐户。
如果这是您已经尝试过的html" target="_blank">方法,但是它不起作用,则可能需要使用所用URL的更多详细信息,密钥文件的名称和位置等来更新您的问题。
现在是技术部分:如何在Jenkins中使用SSH密钥?
例如,如果您有一个jenkins
Unix用户,则可以将您的部署密钥存储在中~/.ssh/id_rsa
。当詹金斯尝试通过ssh克隆存储库时,它将尝试使用该密钥。
在某些设置中,您无法将Jenkins作为自己的用户帐户运行,也可能无法使用默认的ssh密钥位置~/.ssh/id_rsa
。在这种情况下,您可以在其他位置创建密钥,例如~/.ssh/deploy_key
,并配置ssh
为与以下项中的项一起使用~/.ssh/config
:
Host github-deploy-myproject
HostName github.com
User git
IdentityFile ~/.ssh/deploy_key
IdentitiesOnly yes
因为所有您使用的所有Github存储库进行身份验证,git@github.com
并且您不希望上述密钥用于所有与Github的连接,所以我们创建了一个主机别名
github-deploy-myproject 。您的克隆URL现在变为
git clone github-deploy-myproject:myuser/myproject
这也是您将 存储库URL 放入Jenkins的内容。
(请注意, 请勿 将 ssh:// 放在前面,以使其正常工作。)
问题内容: 我正在尝试运行一个容器,该容器将公开私有GitHub存储库上的软件包中的golang服务。 由于我与GCE合作,因此我的入门图片是google / debian:wheezy。 安装所有必需的依赖项和工具后,我正在运行 包裹是私人仓库。 我添加了GitHub SSH密钥以允许从私有存储库克隆到docker文件: 尽管如此,当go尝试克隆存储库时,我在go get流程中遇到了一个错误:
问题内容: 我似乎无法让我的Jenkins CI与Github合作。 我的clone命令失败,但这是由于密钥造成的,所以我以服务帐户身份登录(用户Jenkins以Windows Service身份运行)并运行了clone命令。一切都好在引擎盖上。 但是,当我想运行获取以获取最新信息时,它将无法完成。它只是坐在那里。我已经尝试过通过Jenkins的Git插件,也尝试通过Windows命令行脚本。都不
问题内容: 我是github组织的所有者,可以访问所有存储库。其中一些是私人的,其他则是公共的。我正在尝试将Jenkins设置为在向组织的任何存储库发出拉取请求时触发构建。问题是我有一个外部系统,每当发出请求时,它就会通过github webhooks通知。我必须将Jenkins与此系统集成在一起。该系统还可以通过api请求触发到Jenkins的通知。(https://python- jenkin
问题内容: 我正在尝试通过npm安装github私有存储库,其中包括其他私有github存储库作为依赖项。 尝试了很多方法和帖子,但是都没有用。这是我在做什么: 在package.json中就像: 正确的方法是什么? 问题答案: 以下在我需要的所有情况下都可以正常工作:
我正在为我的项目使用Gradle,昨天我在构建项目时遇到了问题,因为https://plugins.gradle.org不起作用。那么有没有办法克隆依赖项
问题内容: 我的Node.JS项目包含对托管在github上的私有NPM存储库的引用。在本地可以正常工作,但是我正在努力使其在Elastic Beanstalk上正常工作。 -- 我需要的是能够在我的Elastic Beanstalk实例上为git设置有效的SSH配置,而不必在源代码控制中存储秘密密钥等。 显然,EB实例没有访问我的私人github仓库所需的SSH密钥。如果我将HTTPS样式的gi