Rails Tutorial 3章をGitlabでやってみる

f:id:piyo_yeah:20181202190633j:plain

復習を兼ねて、3章「ほぼ静的なページの作成」をGitlabでやってみた。

方針

  • 実行環境:AWS
  • Branchの方針は、gemの"git-flow" に則る
    • masterブランチ = リリースできる状態を保持
    • developブランチ = 開発のためにブランチを切るとき、基本的にココから切る
  • GitLabを使用
  • RSpec + FactoryBot を使用
    • minitestは使わない
    • コントローラのテストが不要なレベルにしたい
  • 綺麗なコミットログを作りたい
    • git log --graph --oneline の結果が綺麗ならOK、という判定基準
  • 尚、以下の内容は省略。
    • GitLabの登録方法
    • GitLabをRemoteRepositoryに指定する方法
    • Gitの初期設定
    • RSpecの使い方
    • FactoryBotの使い方

1, setup

App作成
rails _5.1.6_ new sample_app/
Gemfile
  • 2018/09/22 現在のRails Tutorial を参考にする
  • 上記にRSpecとFactoryBotを追加
source 'https://rubygems.org'

gem 'rails', '5.1.6'
gem 'puma', '3.9.1'
gem 'sass-rails', '5.0.6'
gem 'uglifier', '3.2.0'
gem 'coffee-rails', '4.2.2'
gem 'jquery-rails', '4.3.1'
gem 'turbolinks', '5.0.1'
gem 'jbuilder', '2.7.0'

group :development, :test do
  gem 'sqlite3', '1.3.13'
  gem 'byebug', '9.0.6', platform: :mri
  gem "rspec-rails" # 追加
  gem "factory_bot_rails" # 追加
 end

group :development do
  gem 'web-console', '3.5.1'
  gem 'listen', '3.1.5'
  gem 'spring', '2.0.2'
  gem 'spring-watcher-listen', '2.0.1'
end

group :production do
  gem 'pg', '0.20.0'
end
bundle install

2, branchを準備

  • masterブランチにいる前提。
  • developブランチを切ってPUSHする
git checkout -b develop
git push origin develop
  • static_pages ブランチを切る
git checkout -b static_pages

3, Rails Tutorial chap 3を進める

  • 省略。

4, static_pagesをPUSHする

git push origin static_pages

5, ローカル環境にて、static_pagesをdevelopブランチにmergeする

  • 先ずdevelopブランチに移動する
git checkout develop
  • ローカル環境でmerge する
git merge --no-ff static_pages
  • コミットログを確認
    • git log --graph --oneline を実行

f:id:piyo_yeah:20180923113345p:plain
綺麗に出来たー!ヾ(*´∀`*)ノ

6, GitLabでmergeする

  • GitLabにstatic_pagesブランチをPUSH
git push origin static_pages
  • GitLabでMergeRequestを出して、自分でMergeを許可する
    • やってみた結果がコチラ
    • 変更が加わったファイルに、ちゃんと新たなコミットの名前が反映されていることを確認

f:id:piyo_yeah:20180923113526p:plain


オマケ:便利設定

Alias 設定
  • 頻用するコマンドの省略形を定義できる。
  • 例えば下記の一番下なら、"co" と打つだけで "git checkout" コマンドを指定できる
alias be='bundle exec'
alias st='git status'
alias br='git branch'
alias co='git checkout'

指摘など頂けると泣いて喜びます!\( 'ω')/