可以在两个目录中添加新的 gitlab-ctl 命令:files/gitlab-ctl-commandsfiles/gitlab-ctl-commands-ee。Chef 将 gitlab-ctl 命令存储在 /opt/gitlab/embedded/service/omnibus-ctl

add_command_under_category(string, string, string, int, ruby_block)

此方法会在您的 gitlab-ctl 中添加一个新命令到某个类别,对于在帮助输出中逻辑地将相似命令分组很有用。

输入参数:

  1. 命令的名称。
  2. 命令的类别。它应该是仅包含字符和 “-“ 的字符串。如果类别不存在,它将被添加。默认类别是 “general” 和 “service-management”(如果启用后者)。
  3. 描述。当运行帮助命令时,这将在命令名称下输出。
  4. Arity。由于 omnibus-ctl 中的一个 bug,始终设置为 2
  5. Ruby 块。运行命令时要执行的 Ruby 代码(传递给该命令的参数将进入块中)。

add_command(string, string, int, ruby_block)

此方法会在您的 gitlab-ctl 中添加一个没有类别的新命令。当调用帮助命令时,它将显示在所有类别之上。

输入参数与 add_command_under_category 相同,但不包括第 2 个参数。