新しいgitlab-ctl コマンドの追加

新しいgitlab-ctl コマンドはfiles/gitlab-ctl-commandsfiles/gitlab-ctl-commands-eeの 2 つのディレクトリに追加できます。Chef はgitlab-ctl コマンドを/opt/gitlab/embedded/service/omnibus-ctlに格納します。

コマンドを追加するために使う主な関数は2つあります (https://github.com/chef/omnibus-ctl):

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

このメソッドは、gitlab-ctl に新しいコマンドをカテゴリの下に追加します。ヘルプ出力で似たようなコマンドを論理的にグループ化するのに便利です。

入力引数

  1. コマンド名
  2. コマンドのカテゴリ。文字列と”-“のみ。カテゴリーが存在しない場合は追加されます。デフォルトのカテゴリは “general “と “service-management”(後者が有効な場合)です。
  3. 説明。helpコマンド実行時にコマンド名の下に出力されます。
  4. アリティ。omnibus-ctlのバグのため、常に2 に設定されます。
  5. Rubyブロック。コマンド実行時に実行されるRubyコード(コマンドの引数はブロックに渡されます)。

add_command(string, string, int, ruby_block)

このメソッドはgitlab-ctl に新しいコマンドをカテゴリなしで追加します。このコマンドは、helpコマンドが呼ばれたときに、すべてのカテゴリの上に表示されます。

入力引数は、2が存在しないことを除いて、add_command_under_category と同じです。