Help us understand the problem. What is going on with this article?

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

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ブランチのものがコピーされてしまいました。。
CASIXx1
glamo Backend & Frontend & Firmware ←tsukuruba Backend ←otonal Cheif Technology Officer ←NTT communications Project Manager
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした