LoginSignup
2
1

More than 3 years have passed since last update.

Template repositoryを使って、Rails on Dockerの初期設定を共通化させてみた

Last updated at Posted at 2019-11-20

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の設定の仕方

  1. Template repository として使いたいリポジトリを用意
  2. Settingsに遷移すると、 Template repository という項目があるので、チェックを付けるだけ!

image.png

Template repositoryをテンプレートとして使う方法

  1. Template repositoryのトップ画面に遷移
  2. Use this template という項目があるので、押下する image.png
  3. リポジトリ作成画面に遷移するので、項目を埋めて、 Create repository from template を押下 image.png
  4. ファイルやディレクトリはTemplate repositoryのものを引き継ぎますが、commit履歴は消えて、initial commitになった状態でリポジトリが作成されます image.png

リポジトリ名の下の方に、どのTemplate repositoryから作られたのかの説明も書かれてますね。
image.png

Repository作成画面からも選択出来る

image.png

↓ Repository template を押すと、自身やチームが持っている Template repositoryの一覧が出てくるので、選択出来る

image.png

実際に作ってみました。

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ブランチのものがコピーされてしまいました。。
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1