Railsプロダクトを作るたびに、毎回Rails環境作るの面倒...
と思うことありませんか?
私の場合は
Dockerの設定して...
いつも使うGemの設定して...
CircleCI設定して...
細かい調整してと...
DockerでRails環境を作成するために、やるようなことって
ちょっと面倒な割りに、共通化出来ることありますよね。
そういう時は、GitHubの新機能である Template repository
を使ってみるといいです!
参考
https://github.blog/2019-06-06-generate-new-repositories-with-repository-templates/
Template repositoryの説明
手短に説明するとこんな感じです。
- Template repositoryとしてセッティングしたリポジトリのファイルをコピーした状態で新しいリポジトリを作成出来る
- しかし、commit履歴は引き継がないので、ファイルだけコピーしたい場合に重宝する
何が便利か?
毎回行うような初期設定などを Template repositoryとして定義しておけば、
プロダクトを作成するときに、そのリポジトリをテンプレートとして使って、初期設定の手間を省ける
Template repositoryの設定の仕方
-
Template repository
として使いたいリポジトリを用意 - Settingsに遷移すると、
Template repository
という項目があるので、チェックを付けるだけ!
Template repositoryをテンプレートとして使う方法
- Template repositoryのトップ画面に遷移
-
Use this template
という項目があるので、押下する
- リポジトリ作成画面に遷移するので、項目を埋めて、
Create repository from template
を押下
- ファイルやディレクトリはTemplate repositoryのものを引き継ぎますが、commit履歴は消えて、initial commitになった状態でリポジトリが作成されます
リポジトリ名の下の方に、どのTemplate repositoryから作られたのかの説明も書かれてますね。
Repository作成画面からも選択出来る
↓ Repository template を押すと、自身やチームが持っている Template repositoryの一覧が出てくるので、選択出来る
実際に作ってみました。
Docker上でRailsを動かすときの初期設定をまとめてあります。
https://github.com/CASIXx1/rails_docker_base
毎回、DockerでRails環境を作るの面倒だなーと思っていたので、このリポジトリを整備しておけば、プロダクトが量産できそうです!!
もちろん私以外のユーザーも使えますので、
もしDockerでRailsを動かしたいけど、セッティング面倒だな...という方がいらっしゃれば、是非使ってみてください!!
随時整備していきます!
小ネタ
- Template repositoryから作成したリポジトリも、Template repository化することが出来る
- 人が作ったTemplate repositoryを自分が作ったTemplate repositoryのように見せることが...w
- (リポジトリ名の下のgenerated fromでバレるけど)
- Template repositoryを使う時は、defaultブランチの最新バージョンの状態をそのままコピーする
- なので、ブランチごとによって微妙に設定を変えたりする工夫は無駄
- mysqlを入れたブランチとpostgresqlを入れたブランチで分けようとしたけど、どう頑張ってもdefaultブランチのものがコピーされてしまいました。。