【问题标题】:How to install delete-project plugin in gerrit?如何在 gerrit 中安装删除项目插件?
【发布时间】:2014-02-10 19:41:32
【问题描述】:

我想在我的 gerrit 服务器上安装 delete-project 插件。 根据最新版本,我应该从谷歌源克隆它并使用 buck build。

我克隆了它,我的钱也准备好了。

构建删除项目插件并将其添加到我的 gerrit 服务器需要遵循哪些步骤。

我试过了

buck build .

在删除项目的克隆源中。但是,我收到以下错误

Traceback (most recent call last):
  File "/home/gerrit/buck/src/com/facebook/buck/parser/buck.py", line 872, in <module>
    main()
  File "/home/gerrit/buck/src/com/facebook/buck/parser/buck.py", line 867, in main
    buildFileProcessor.process(build_file.rstrip())
  File "/home/gerrit/buck/src/com/facebook/buck/parser/buck.py", line 800, in process
    build_env['BUILD_FILE_SYMBOL_TABLE'])
  File "/home/gerrit/delete-project/././BUCK", line 1, in <module>
    gerrit_plugin(
NameError: name 'gerrit_plugin' is not defined
BUILD FAILED: Parse error for BUCK file ././BUCK: End of input at line 1 column 1

请帮忙

【问题讨论】:

    标签: java python build gerrit


    【解决方案1】:

    在关注这个帖子后,我设法安装了 delete-project 插件:

    https://groups.google.com/forum/#!topic/repo-discuss/hbBc2TUhl7s

    然后按照:

    https://gerrit-review.googlesource.com/Documentation/cmd-plugin-install.html

    附:我按照以下步骤构建 jar:

    1. git clone --recursive https://gerrit.googlesource.com/gerrit
    2. cd gerrit
    3. git clone --recursive https://gerrit.googlesource.com/plugins/delete-project
    4. buck build delete-project:delete-project

    然后您应该在 buck-out/gen/delete-project/delete-project.jar 中找到 delete-project.jar

    【讨论】:

    • 每当我运行buck build delete-project:delete-project 我得到OSError: [Errno 2] No such file or directory (/usr/lib/python2.7/subprocess.py 知道为什么吗?我有 subprocess.py 库
    • @TimCastelijns:你在使用 Arch Linux 吗?出现该错误是因为系统的 /usr/bin/python 是 Python 3,而不是 Python 2。您可以做的是创建一个类似 ~/bin 的目录,将 Python 2 符号链接到其中(ln -s /usr/bin/python2 ~/bin/python),然后使用 PATH="~/bin:$PATH" buck ...
    • @Xiao-LongChen 使用 ubuntu 服务器 14.04 和 /usr/bin/python --version 提供 Python 2.7.6
    • 您介意发布完整的构建日志吗? subprocess 模块可能会失败,因为它试图运行一个不存在的程序。
    • 如果您想安装 gerrit 存储库中默认包含的插件之一,请在步骤 1 中将 --recursive 选项添加到 git clone。它将下载所有子模块。另请注意,当您从 *.war 文件安装 gerrit 时,上述步骤还不够。在这种情况下,将上述步骤作为副项目执行,构建插件 *.jar 文件并将它们复制到您的生产 gerrit。
    【解决方案2】:
    1. https://gerrit-ci.gerritforge.com 上从与您的Gerrit 版本匹配的版本中下载delete-project.jar
    2. 复制到gerrit/plugins目录。
    3. 重启 Gerrit。

    【讨论】:

    • 选择与您的 Gerrit 版本匹配的 Plugins-stable-2.xx 选项卡以找到正确的 plugin-delete-project 构建作业。
    【解决方案3】:

    我成功地构建了删除项目插件,对@DavidCheung 答案稍作修改:

    1. git 克隆https://gerrit.googlesource.com/gerrit
    2. cd gerrit/插件
    3. git 克隆https://gerrit.googlesource.com/plugins/delete-project
    4. buck build delete-project:delete-project

    然后您应该在 ../buck-out/gen/delete-project/delete-project.jar 中找到 delete-project.jar

    【讨论】:

      【解决方案4】:

      我对上面的答案感到困惑,可能是因为有了新版本的 Gerrit (2.11.2)。 this document 中的步骤都对我有用,还有一个补充 - 您需要在克隆 Gerrit 源代码时添加 --recursive 标志,以便它包含标准插件的源代码:

      git clone --recursive https://gerrit.googlesource.com/gerrit
      

      另外,请确保为您的 Gerrit 版本检查正确的 Git 分支,例如

      git fetch origin stable-2.11:stable-2.11
      git checkout stable-2.11
      

      【讨论】:

        【解决方案5】:

        这是为 gerrit 3.x 构建 delete-project.jar 的方法。

        1. 安装bazel
        2. 使用git clone --recursive https://gerrit.googlesource.com/gerrit下载gerrit源代码
        3. cd gerrit
        4. bazel build plugins/delete-project:delete-project

        最后一步将生成bazel-bin/plugins/delete-project/delete-project.jar,然后可以按照official documentation 中的说明进行安装。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-02
          • 2015-10-06
          • 1970-01-01
          • 2018-08-12
          • 1970-01-01
          相关资源
          最近更新 更多