ビルトインプロジェクトテンプレートに貢献します。
新しいビルトインプロジェクトテンプレートの追加
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
このスクリプトは、デフォルトブランチに対するファイル変更の差分を出力し、テンプレートリポジトリがソーステンプレートプロジェクトと一致していることを確認します。