GitLab開発に貢献する者

GitLabに貢献することに興味を持っていただきありがとうございます。このガイドでは、GitLabの開発に貢献する方法を詳しく説明します。

初めての方向けのステップバイステップガイドは、チュートリアルをご覧ください:GitLabに貢献しましょう。

貢献する方法

  1. 行動規範をお読みください。
  2. 取り組むべきイシューを選ぶか作成します。
  3. GitLab Development Kitをセットアップします。
  4. マージリクエストを開きます。

マージリクエストはトリアージ、レビューされ、製品に組み込まれます。

行動規範

私たちは、貢献しようとするすべての人を歓迎する環境を作りたいと考えています。オープンで歓迎される環境に対する私たちのコミットメントについては、行動規範のページをご覧ください。

イシューやマージリクエストは英語で、すべての年齢層の読者に適切な表現が含まれている必要があります。

イシューの選択または作成

取り組む課題が決まっている場合は、イシューが存在するかどうかを確認してください。存在しない場合は、新しいイシューを開きます。適切なテンプレートを選択し、計画している作業について必要な情報をすべて追加してください。そうすれば、GitLabチームメンバーからより多くのガイダンスやサポートを受けることができます。

何に取り組めばいいのかわからない場合は、~Seeking community contributions~quick win ラベルの付いたイシューを見ることができます。

イシューを見つけたら、取り組みたいイシューにコメントを残しましょう。そうすることで、GitLabチームやGitLabコミュニティのメンバーが、あなたがそのイシューに取り組むことを知ることができます。

詳しくはイシューのワークフローをご覧ください。

GitLab開発キットのセットアップ

コードを書いてテストするには、GitLab Development Kitを使います。

  1. GitLab Community forkへのアクセスをリクエストしてください。あるいは、自分で公開フォークを作成することもできますが、コミュニティフォークの利点は享受できません。
  2. GitLab プロジェクトによっては、レポジトリの README や CONTRIBUTING ファイルに詳細な貢献ガイドがあります。開発環境を立ち上げる前にこれらのファイルをレビュアーしておくと、よいスタートを切れるでしょう。
  3. 以下のいずれかを行いましょう:
    • 開発環境をローカルで実行するには、GitLab Development Kitをダウンロードしてセットアップします。GDKのREADMEでセットアップの手順と、困ったときのトラブルシューティングをご覧ください。

    • GDKは重いです。試行錯誤しながら高速に何かを構築する必要がある場合は、空のRailsアプリでそれを行い、その後にGDKに移植することを検討してください。

    • 設定済みのGDKインスタンスをクラウドで実行するには、GDKとGitpodを使用します。プロジェクトリポジトリから:

      1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
      2. 右上のEdit > Gitpod を選択します。
  4. ウェブサイトや ハンドブックに貢献したい場合は、どのページでもフッターに移動し、Edit in Web IDEを選択してWeb IDEを開きます。

マージリクエストを開く

あなたのコードとドキュメントをマージするために、マージリクエストを開いてください。マージリクエストを開くのが早ければ早いほど、フィードバックを早く得ることができます。まだ終わっていないことを示すために、下書きとしてマークすることができます。

  1. マージリクエストには、テンプレートで要求されているすべての情報 (変更を加える理由や、このマージリクエストでクローズ/修正しようとしているイシューへのリンクなど) を記入します。
  2. 必要に応じてテストを追加し、変更履歴も記入してください。
  3. 変更がユーザーや管理者に影響する場合は、ドキュメントを更新してください。

詳細はマージリクエストワークフローをご覧ください。

コミュニティマージリクエストのトリアージ方法

  1. マージリクエストを作成すると、@gitlab-bot は自動的に“~Community contribution”ラベルを適用します。
  2. マージリクエストを作成してから24~48時間以内に、マージリクエストコーチがマージリクエストをレビューし、ステージ、グループ、タイプラベルを適用します。
  3. マージリクエストが自動的に割り当てられなかった場合は、コメントに@gitlab-bot ready と入力して、レビューを依頼してください。コードが最初に提出されてから 2 営業日以内にレビュアーが割り当てられなかった場合は、@gitlab-bot help で支援を求めることができます。
  4. マージリクエストコーチが関連するレビュアーを割り当てるか、可能であれば自分自身でレビューに取り組みます。

マージリクエストは、レビュアーがアサインされてから1週間以内にレビューすることを目標としています。仕事量が多い、休日が多い、その他の理由により、レビューに時間がかかることもあります。もし必要であれば、あなたが書いたコードの種類を専門とするマージリクエストコーチをチームページで探し、マージリクエストに記載してください。たとえば、フロントエンドのコードを書いたのであれば、フロントエンド担当のマージリクエストコーチの名前を挙げてください。あなたのコードが複数の分野にまたがっている場合は、複数のマージリクエストコーチに言及することができます。

タイムラインや、マージリクエストをエスカレーションする方法についての詳細は、Wider Community Merge Request ガイドを参照してください。

マージリクエストがレビューされマージされると、あなたの変更は GitLab.com にデプロイされ、次のリリースに含まれるようになります!

レビュープロセス

GitLab にコードを投稿するとき、私たちはそのコードがマージされることを強く望んでいます!しかし、私たちは常に投稿されたコードを慎重にレビューしており、それには時間がかかります。投稿されたコードは、通常マージされる前に二人のドメインエキスパートによってレビューされます:

レビュー後、レビュアーは作成者にマージリクエストを更新するよう依頼することができます。その場合、レビュアーは~"workflow::in dev" ラベルを設定します。マージリクエストが更新され、再びレビューの準備ができたと設定されると (たとえば@gitlab-bot ready で)、レビュアーは再びコードをレビューします。このプロセスをマージ前に何度でも繰り返すことで、貢献者を最高の状態にすることができます。

最後に、マージリクエストを提出する際には以下のことに注意してください:

  • レビュアーがマージリクエストに目を通すとき、他のレビュアーに指導を求めることがあります。
  • もしコードの品質が GitLab の基準を満たしていないと判断された場合、マージリクエストレビューアーはガイダンスを提供し、作成者を私たちのところに紹介します:
  • スタイルガイドに従っていても、コードの構造的な整合性が欠けていたり、レビュアーがコード全体の品質に難色を示すこともあります。留保がある場合、レビュアーは作成者にその旨を伝え、何らかの指導を行います。
  • GitLab では一般的に誰でもマージリクエストの承認を示すことができますが、メンテナーはマージリクエストをマージする前に特定のレビュアーからの承認を必要とすることがあります。
  • メンテナーがマージリクエストをクローズすることもあります。その場合、マージされない理由といくつかの指針を完全に開示します。メンテナーは、将来承認されマージされるようにコードを変更する方法についての議論を受け入れます。

イシューとマージリクエストのクローズポリシー

Enterprise Edition ライセンスでの Premium/Ultimate 機能への貢献者

有料ティアに含まれるGitLab機能(EEフォルダにあるコードとして知られています)に取り組みたい場合は、GitLab Enterprise Editionライセンスが必要です。文書化されたプロセスに従ってEnterprise Edition開発者ライセンスをリクエストしてください。

ヘルプ

GitLabに貢献する際にヘルプが必要な場合: