Rundeck:使用SCM插件从GitHub中提取作业定义

时间:2016-03-28 16:03:26

标签: git rundeck

我非常想将我的rundeck作业描述(YAML)导入/导出到GitHub存储库中。

似乎rundeck(2.6.4)的SCM插件已经准备就绪,但我找不到关于如何使用它的文档。

当我尝试在"安装SCM插件中配置它时:Git Export"屏幕,我收到以下错误:

Failed fetch from the repository:  
https://github.com/OptionMetrics/Rundeck.git: Authentication is required but no CredentialsProvider has been registered

我尝试创建SSH密钥,将其上传到GitHub,然后将其存储在rundeck密钥存储中。然后,我从配置页面引用了此密钥。没有运气。

任何人都可以给我关于如何使这项工作的明确指示吗?

3 个答案:

答案 0 :(得分:3)

您可以使用SSH密钥存储,但需要将git URL设置为github上提供的SSH URL。而不是https://github.com/OptionMetrics...,而不是git@github.com:OptionMetrics...

如果您想使用https,您可以指定用户名/密码。您需要生成一个"个人访问令牌"通过github,并将其用作您的密码

答案 1 :(得分:1)

github身份验证似乎存在问题。我能够使用rundeck-git-plugin-2.6.1.jar和私有git repo来实现它。

首先,您测试是否可以将git存储库克隆为" rundeck"来自rundeck主机的用户,如果它没有任何问题,你就不会在设置插件时出现任何问题,并且可以将作业yml文件提交/推送到repo。

使用此插件时,rundeck用户和git存储库之间的git身份验证是唯一重要的事情。如果使用基于SSH密钥的身份验证,也可以使用repo端点的SSH方法进行克隆。

答案 2 :(得分:0)

您需要将凭据添加到github。为此,请转到Github->个人资料->设置->开发人员设置->个人访问令牌 复制上面的密码。现在回到Rundeck->设置->密钥存储->添加或上传密钥。密钥类型为密码,复制将密码粘贴到“输入文本”中。给密钥起个名字。单击“选择”后,“密码存储路径”下“ SCM设置配置”页面中将提供相同的内容。

您可以使用https从rundeck连接到git,您可能想用您的设置替换<>括号中提到的内容。

Export Jobs to a Git Repository More…
Committer Name: <Commiter Name>
Committer Email: <Commiter Email ID>
Export UUID Behavior: preserve
Synchronize Automatically: false
Base branch on: master
File Path Template: ${job.group}${job.name}-${job.id}.${config.format}
Base Directory: <Base Directory >
Git URL: https://<userid>@github5.<domain>.com/<project>.git/
Branch: master
SSH: Strict Host Key Checking: no
Password Storage Path: keys/Github
Format: xml
Fetch Automatically: false