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

Rundeck: Pull job definition from GitHub with SCM plugin

我非常想 import/export 我的 rundeck 职位描述 (YAML) to/from GitHub 存储库。

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

当我尝试在 "Setup SCM Plugin: 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 Key Storage 中。然后我从配置页面引用了这个密钥。运气不好。

任何人都可以就如何使这项工作给我明确的说明吗?

git集线器身份验证似乎有问题。我能够让它与 rundeck-git-plugin-2.6.1.jar 和私人 git repo.

一起工作

首先测试是否可以从 rundeck 主机以 "rundeck" 用户身份克隆 git 存储库,如果它没有任何问题,那么设置插件就不会有任何问题committing/pushing 作业 yml 文件回购。

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

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

如果你想使用https,你可以指定一个username/password。您需要通过 github 生成一个 "personal access token",并将其用作您的密码

您需要向 github 添加凭据。为此,请转到 Github -> 配置文件 -> 设置 -> 开发人员设置 -> 个人访问令牌 复制上面的密码。现在回到 Rundeck -> Settings -> Key Storage -> Add or Upload Key。 Key Type 是 Password ,将密码复制粘贴到 "Enter text" 中。为密钥命名。当您单击 Select。

时,密码存储路径下的 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