你必須很努力

如何在 GitHub 設定 Travis CI,以 Ruby on Rails 專案為例。

2019/11/18
字數統計: 616閱讀時間: 2 min

說明

如何在 GitHub 設定 Travis CI,以 Ruby on Rails 專案為例

環境介紹

1
2
3
Ruby version 2.6.3
Rails version 5.2.3
Git version 2.23.0

教學範例 GitHub

Travis CI

Travis CI 是在軟體開發領域中的一個在線的,分布式的持續集成服務,用來構建及測試在 GitHub 託管的代碼。

它提供了多種程式語言的支持,包括 Ruby、JavaScript、Java、Scala、PHP、Haskell 和 Erlang 在內的多種語言。許多知名的開源項目使用它來在每次提交的時候進行構建測試,比如 Ruby on Rails,Ruby 和 Node.js。

出處:維基百科

開始前

你要有:

  1. Ruby、Rails、Git、Postgresql 等的基本環境(沒有可參考這篇建置)
  2. GitHubTravis CI 的帳號密碼 (免費註冊)

如何設定 Ruby on Rails 專案

1. 裝 rspec-rails gem

1
2
3
4
5
6
7
# Gemfile

group :development, :test do
...

gem 'rspec-rails', '~> 3.9'
end

換好資料庫後,終端機輸入

1
2
$ bundle
$ rails g rspec:install

2. 將原本 sqlite 換成 pg gem

1
2
3
# Gemfile

gem 'pg', '~> 1.1', '>= 1.1.4'

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 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 名稱自取

換完資料庫後,記得要

1
2
$ bundle
$ rails db:migrate:reset

3. 以 Rails scaffold 測試為例 (可忽略)

1
2
3
$ rails g scaffold User name role:integer email gender:integer tel
$ rails db:migrate
$ rspec

顯示如下

4. 在專案目錄底下新增「.travis.yml」

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# .travis.yml

language: ruby
rvm:
- 2.6.3
install:
- bundle install
- nvm install 10
- npm i -g yarn
- yarn
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

10. 回 GitHub 點 commits 能看見已執行通過(有綠色V)

11. 將 test_ci branch push 至 GitHub 發 pr

小結

設定過一次再回想時,會發現比想像中簡單,精簡流程如下:

  1. 設定「.travis.yml」檔
  2. push Github
  3. 設定 Travis CI

簡單來說是這樣

上述不清楚部分,能參考教學範例 GitHub


本文同步於 小菜的 Blog https://riverye.com

原文連結:https://riverye.com/2019/11/18/如何在-GitHub-設定-Travis-CI,以-Ruby-on-Rails-專案為例。/

發表日期:2019-11-18

更新日期:2020-07-05

CATALOG
  1. 1. 說明
  2. 2. 環境介紹
  3. 3. Travis CI
  4. 4. 開始前
  5. 5. 如何設定 Ruby on Rails 專案
    1. 5.0.1. 1. 裝 rspec-rails gem
    2. 5.0.2. 2. 將原本 sqlite 換成 pg gem
    3. 5.0.3. 3. 以 Rails scaffold 測試為例 (可忽略)
    4. 5.0.4. 4. 在專案目錄底下新增「.travis.yml」
    5. 5.0.5. 5. 建立 GitHub 專案 (或在現有的專案 push 上去也可以)
    6. 5.0.6. 6. 設定 Travis CI 與 GitHub 同步專案
    7. 5.0.7. 7. 回 Travis CI 首頁,點左側邊專案名稱
    8. 5.0.8. 8. 將帶有「.travis.yml」的 commit push 至 GitHub
    9. 5.0.9. 9. push 至 GitHub 後,在 Travis CI 會看見正在執行的畫面
    10. 5.0.10. 10. 回 GitHub 點 commits 能看見已執行通過(有綠色V)
    11. 5.0.11. 11. 將 test_ci branch push 至 GitHub 發 pr
  • 6. 小結