說明
如何在 GitHub 設定 Travis CI,以 Ruby on Rails 專案為例
如何設定 Ruby on Rails 專案
1. 裝 rspec-rails gem
# Gemfile
group :development, :test do
...
gem 'rspec-rails', '~> 3.9'
end
換好資料庫後,終端機輸入
$ bundle
$ rails g rspec:install
2. 將原本 sqlite 換成 pg gem
# Gemfile
gem 'pg', '~> 1.1', '>= 1.1.4'# config/database.yml
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
<<: *default
database: travis_ci_test_development
test:
<<: *default
database: travis_ci_test_test
production:
<<: *default
database: travis_ci_test_production
# database 名稱自取
換完資料庫後,記得要
$ bundle
$ rails db:migrate:reset
3. 以 Rails scaffold 測試為例 (可忽略)
$ rails g scaffold User name role:integer email gender:integer tel
$ rails db:migrate
$ rspec
顯示如下
4. 在專案目錄底下新增「.travis.yml」
# .travis.yml
language: ruby
rvm:
- 2.6.3
install: bundle install
services:
- postgresql
script:
- bundle exec rake db:migrate:reset RAILS_ENV=test
- bundle exec rspec
# 可依需求調整
5. 建立 GitHub 專案 (或在現有的專案 push 上去也可以)
要先有 GitHub 專案,Travis CI 同步時才能找到喔。
6. 設定 Travis CI 與 GitHub 同步專案
Travis CI 登入後,右上角 Settings 即可設定。
7. 回 Travis CI 首頁,點左側邊專案名稱
8. 將帶有「.travis.yml」的 commit push 至 GitHub
9. push 至 GitHub 後,在 Travis CI 會看見正在執行的畫面
需要跑一些時間(幾分鐘不等),基本上有在執行,代表有順利載入 Travis CI