ビルトインプロジェクトテンプレートに貢献します。

新しいビルトインプロジェクトテンプレートの追加

GitLab で配布する新しいビルトインプロジェクトテンプレートを貢献したい場合は、次のようにしてください:

  1. 貢献したいプロジェクトの内容で新しい公開プロジェクトを作成します。作業例をここで見ることができます。
    • プロジェクトはできるだけシンプルで、不要な資産や依存関係がないものにしてください。
  2. プロジェクトのレビュー準備ができたら、GitLabに新しいイシューを作成し、プロジェクトへのリンクを貼ってください。
    • イシューでは、@ 、関連するバックエンドエンジニアリングマネージャーとCreate:Source Codeグループのプロダクトマネージャーについて言及してください。

新しいプロジェクトを作成するときにプロジェクト・テンプレートを利用できるようにするには、ベンダリング・プロセスを完了する必要があります:

  1. 作業テンプレートの作成(例)
    • GitLabでは2種類の組み込みテンプレートが利用できます:
      • 標準テンプレート:GitLab Core、Starter以上で利用可能(最も一般的な組み込みテンプレートです)。
        • 標準テンプレートに貢献するには:
          • gitlab/lib/gitlab/project_template.rblocalized_templates_table メソッドにテンプレートの詳細を追加してください、
          • all メソッドのテストにspec/lib/gitlab/project_template_spec.rb のテンプレートの詳細を追加します。
          • gitlab/app/assets/javascripts/projects/default_project_templates.js のテンプレートの詳細を追加します。
          • MR!25318の例を参照してください。
      • エンタープライズテンプレート:GitLab 12.10で導入され、GitLab Gold & Ultimateでのみ利用可能です。
        • Enterpriseテンプレートに貢献するには:
          • gitlab/ee/lib/ee/gitlab/project_template.rblocalized_ee_templates_table メソッドにテンプレートの詳細を追加してください、
          • gitlab/ee/spec/lib/gitlab/project_template_spec.rb のテンプレートの詳細をenterprise_templates のメソッドに追加します。
          • gitlab/ee/app/assets/javascripts/projects/default_project_templates.js のテンプレートの詳細を追加します。
          • MR!28187の例を参照してください。
  2. gitlab プロジェクトで以下を実行してください。$name は、gitlab/project_template.rb でテンプレートに付けた名前です:

    bin/rake gitlab:update_project_templates[$name]
    
  3. bundle_repo スクリプトを実行します。正しい引数を渡さないと、スクリプトがフォルダ構造を破壊する可能性があります。
  4. エクスポートしたプロジェクト ($name.tar.gz) をgitlab/vendor/project_templates に追加し、結果のビルド・フォルダtar-baseprojectを削除します。
  5. gitlab プロジェクトでbin/rake gettext:regenerate を実行し、新しい.pot ファイルをコミットします。
  6. コミットメッセージに変更履歴エントリを追加します (例:Changelog: added)。詳しくは、チェンジログエントリーをご覧ください。
  7. gitlab-svgsにアイコンを追加します。プロジェクトにロゴがない場合は、代わりにデフォルトの「Tanuki」ロゴを使用してください。
  8. gitlab-svgs プロジェクトでyarn run svgs を実行し、結果をコミットします。
  9. gitlab-svgs プロジェクトの変更を master に転送します。これには
    • プロジェクトのMRをマージします。gitlab-svgs
    • ボットが新しいリリースをピックアップし、gitlab-org/gitlab に MR を作成します。
  10. ボットが作成したMRがマージされると、テンプレートMRを更新されたmaster にリベースして、新しいsvgsを取り込むことができます。
  11. すべてが機能していることをテストしてください。

既存のテンプレートの改良に貢献する場合

既存のテンプレートはproject-templatesグループで利用できます。

変更に貢献するには、関連プロジェクトでマージリクエストを開き、レビューの準備ができたら@gitlab-org/manage/import/backend と言ってください。

あなたのマージリクエストが受け入れられたら、gitlab でイシューを開いて更新を依頼するか、以下の手順でvendored テンプレートを更新するマージリクエストを開いてください。

GitLab Development Kit を使ってビルトインプロジェクトをテストしましょう。

GitLab Development Kitインスタンスでプロジェクトテンプレートをテストするには、以下のステップを完了してください:

  1. 以下の Rake タスクを実行します。<path>/<name>lib/gitlab/project_template.rb でテンプレートにつけた名前です:

    bin/rake gitlab:update_project_templates\[<path>/<name>\]
    

GitLabチームメンバーの場合

マージする前に、マージリクエストがセキュリティカウンターパートによってレビューされていることを確認してください。

ベンダーのプロジェクトテンプレートを変更するマージリクエストをレビューするには、check-template-changes スクリプトを実行してください:

scripts/check-template-changes vendor/project_templates/<template_name>.tar.gz

このスクリプトは、デフォルトブランチに対するファイル変更の差分を出力し、テンプレートリポジトリがソーステンプレートプロジェクトと一致していることを確認します。