0

我正在寻找一种使用命令行方式(而不是使用基于 RhodeCode 浏览器的 GUI 点击)在 RhodeCode 中创建新存储库“newrepo”和新项目“newproject”的方法。

RhodeCode 版本是 2.2.5,它获得了所有存储库/项目(在我们从 Hg Mercurial 迁移到 RhodeCode 接口之后)。一切都适用于迁移的项目,或者如果我使用 RhodeCode GUI 界面手动在现有存储库中创建新的存储库/项目。

现在,我想使用命令行 CLI/API 方式创建一个新的存储库/项目,以便我可以自动化存储库/项目创建过程(来自 Jenkins)。

我搜索了一下,发现我必须使用以下链接,但找不到关于如何实际运行它的简单示例:https ://docs.rhodecode.com/RhodeCode-Enterprise/api/api.html#create -回购

你们有没有人尝试使用 Shell 脚本或 groovy 等在 RhodeCode 中创建新的存储库?谢谢。

PS:我不是在寻找创建新的 Hg/Mercurial 存储库(hg init,然后是 hg push / hg pull 等)。

我正在尝试的自动化会这样做:

  1. 创建一个新的存储库/项目或一个新的存储库组,然后在其中存储库。可能授予对一组用户/组的某些访问权限或创建一个等。还自动创建一个空的 README / DELETE_ME_ANYTIME 文件。

  2. 一旦创建了上述内容,我将在我的机器上本地创建一个项目结构,并对上面提到的新创建的存储库/项目或存储库组/存储库执行hg push ,无论你怎么称呼它。

    hg 克隆http://e100020@servermerc.hola.company.com:8010/newrepo/newproject

    hg add README # 添加第一个文件

    hg commit -m "Initial" # 提交信息

    hg push # 将更改推回

  3. 自动创建 Jenkins 构建 / 等作业并自动启动第一个构建并完成它。

我知道如何自动执行项目符号 2、3(在 Jenkins 中使用模板作业格式等并运行 Maven/Gradle build 来构建项目),但第一个项目符号是我想要找到的,如何在命令行中执行?

对于项目符号 1:我发现了这个。

rhodecode-api

RhodeCode API 允许您连接到 RhodeCode Enterprise 并执行管理任务,有关 API 的更多信息,请参阅 API 文档。要在命令行上传递参数,请使用 method:option 语法。

示例用法:

# Run the get_repos API call and sample output
$ rhodecode-api --instance-name=enterprise-1 create_repo repo_name:brand-new repo_type:hg description:repo-desc
{
  "error": null,
  "id": 1110,
  "result": {
    "msg": "Created new repository `brand-new`",
    "success": true,
    "task": null
  }
}
4

1 回答 1

1

使用我们的 api 助手的解决方案是最好的。我还建议将 auth-tokens 用于 jenkins API 调用以及推送操作。通过这种方式,您可以更好地控制凭证,并且可以轻松撤销身份验证令牌。它们的工作方式与谷歌应用程序专用密码类似。

于 2015-08-28T10:19:21.583 回答