Open9

破綻のしないGitLabテンプレートプロジェクト管理

Satoyan(中川 聡也)Satoyan(中川 聡也)

テンプレートプロジェクトとは

定義

基本となるプロジェクトテンプレートを作成し、各開発リポジトリにベースを供給することで、基礎から作業者にやらせない
プロジェクトのテンプレートを作っておくと便利ですよ

Satoyan(中川 聡也)Satoyan(中川 聡也)

テンプレートグループを作るのは良いこと

こんな感じでグループに入れておくとプロジェクトを作る時に使える

Satoyan(中川 聡也)Satoyan(中川 聡也)

カスタムプロジェクトテンプレートの設定方法

入れたいグループで下記のようにテンプレートにしたいグループを指定する

Satoyan(中川 聡也)Satoyan(中川 聡也)

fork がよい

いきなりタイトル否定だけど、forkだと

https://twitter.com/xiombatsg/status/1737693243465502872

Satoyan(中川 聡也)Satoyan(中川 聡也)

あと、テンプレートプロジェクトが平置きしか許容できていないところもサブグループで管理できるので、良い。

Satoyan(中川 聡也)Satoyan(中川 聡也)

ブランチ運用は気を付ける

特にforkの段階が複数階層になると破綻しそう

fork 元を意識する

fork 元を意識した方がいいので、

main / fork_main / fork_fork_main

ぐらいにはブランチを分けて、それぞれにpushしたいものを入れていくのが良さそう。

少なくとも

fork 元のデフォルトブランチ main と developブランチは分けておく
面倒だからと言って分けないでいるとコンフリクトが多発してしんどい

Satoyan(中川 聡也)Satoyan(中川 聡也)

必要ないのに、default ブランチ以外はforkしない

間違えてやりがちですが、コンフリクトしやすいし、無駄なので、default ブランチだけforkしましょう

Satoyan(中川 聡也)Satoyan(中川 聡也)

フレームワークの変更とか破壊的な変更は注意

その後の動機ができないので、取り込むブランチなどは考えた方が良い。どうした方がベストなのか?

Satoyan(中川 聡也)Satoyan(中川 聡也)

fork元が非公開だと非公開しか選択できない

公開プロジェクトにしたい場合をのぞいて、ここは注意したい。
外部公開テンプレートと内部用のテンプレートは分けて考えていれば問題ない。