ビルトインプロジェクトテンプレートに貢献します。
新しいビルトインプロジェクトテンプレートの追加
GitLab で配布する新しいビルトインプロジェクトテンプレートを貢献したい場合は、次のようにしてください:
- 貢献したいプロジェクトの内容で新しい公開プロジェクトを作成します。作業例をここで見ることができます。
- プロジェクトはできるだけシンプルで、不要な資産や依存関係がないものにしてください。
- プロジェクトのレビュー準備ができたら、GitLabに新しいイシューを作成し、プロジェクトへのリンクを貼ってください。
- イシューでは、
@、関連するバックエンドエンジニアリングマネージャーとCreate:Source Codeグループのプロダクトマネージャーについて言及してください。
- イシューでは、
新しいプロジェクトを作成するときにプロジェクト・テンプレートを利用できるようにするには、ベンダリング・プロセスを完了する必要があります:
- 作業テンプレートの作成(例)
- GitLabでは2種類の組み込みテンプレートが利用できます:
-
標準テンプレート:GitLab Core、Starter以上で利用可能(最も一般的な組み込みテンプレートです)。
- 標準テンプレートに貢献するには:
-
gitlab/lib/gitlab/project_template.rbのlocalized_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.rbのlocalized_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の例を参照してください。
-
- Enterpriseテンプレートに貢献するには:
-
標準テンプレート:GitLab Core、Starter以上で利用可能(最も一般的な組み込みテンプレートです)。
- GitLabでは2種類の組み込みテンプレートが利用できます:
-
gitlabプロジェクトで以下を実行してください。$nameは、gitlab/project_template.rbでテンプレートに付けた名前です:bin/rake gitlab:update_project_templates[$name] -
bundle_repoスクリプトを実行します。正しい引数を渡さないと、スクリプトがフォルダ構造を破壊する可能性があります。 - エクスポートしたプロジェクト (
$name.tar.gz) をgitlab/vendor/project_templatesに追加し、結果のビルド・フォルダtar-baseとprojectを削除します。 -
gitlabプロジェクトでbin/rake gettext:regenerateを実行し、新しい.potファイルをコミットします。 - コミットメッセージに変更履歴エントリを追加します (例:
Changelog: added)。詳しくは、チェンジログエントリーをご覧ください。 -
gitlab-svgsにアイコンを追加します。プロジェクトにロゴがない場合は、代わりにデフォルトの「Tanuki」ロゴを使用してください。 -
gitlab-svgsプロジェクトでyarn run svgsを実行し、結果をコミットします。 -
gitlab-svgsプロジェクトの変更を master に転送します。これには- プロジェクトのMRをマージします。
gitlab-svgs -
ボットが新しいリリースをピックアップし、
gitlab-org/gitlabに MR を作成します。
- プロジェクトのMRをマージします。
- ボットが作成したMRがマージされると、テンプレートMRを更新された
masterにリベースして、新しいsvgsを取り込むことができます。 - すべてが機能していることをテストしてください。
既存のテンプレートの改良に貢献する場合
既存のテンプレートはproject-templatesグループで利用できます。
変更に貢献するには、関連プロジェクトでマージリクエストを開き、レビューの準備ができたら@gitlab-org/manage/import/backend と言ってください。
あなたのマージリクエストが受け入れられたら、gitlab でイシューを開いて更新を依頼するか、以下の手順でvendored テンプレートを更新するマージリクエストを開いてください。
GitLab Development Kit を使ってビルトインプロジェクトをテストしましょう。
GitLab Development Kitインスタンスでプロジェクトテンプレートをテストするには、以下のステップを完了してください:
-
以下の 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
このスクリプトは、デフォルトブランチに対するファイル変更の差分を出力し、テンプレートリポジトリがソーステンプレートプロジェクトと一致していることを確認します。