利用雲端服務建立R的
持續整合環境
Wush Wu
Taiwan R User Group
什麼是持續整合?
● 軟體上的每一次程式碼的變動,都有系統能:
○ 自動編譯
○ 自動執行測試
○ 自動回報測試結果
○ 自動部署
● 開發R 套件,也是一種軟體開發
● 持續整合的好處
○ 降低風險
○ 降低人工
○ 增加透明度
○ 提升信心
R 中的單元測試
● RUnit
● testthat
testthat 起手式
● DESCRIPTION
○ Suggests: testthat
● 建立 tests 資料夾
● 建立 tests/test-all.R
● 建立 tests/testthat/test-xxx.R
Hello testthat
● Live Demo
○ 一個失敗的test
○ 一個成功的test
● 取得環境變數
○ Sys.getenv
●
匯入版本控制
● 建立git
● 註冊github
● 建立repository
● push
travis-ci
● 利用github帳號註冊travis-ci
● 開啓專案HelloTestThat的持續整合
觸發第一次自動建製
● 開branch : dev/travis
● 撰寫.travis.yml
● 調整環境變數
● Push + Create PR(Pull Request)
檢視travis-ci的log
Merge dev/travis
● 建立README
● 建立badget
travis-ci for Mac (OS X)
● 建立 branch: osx
● 改寫 .travis.yml
appveyor for Windows
● 撰寫appveyor.yml
● 註冊appveyor
● 打開HelloTestThat的持續整合
建立 OS X, Windows 的 badget
修正HelloTestThat的錯誤
● Push, 一次觸發三個平台的Build
Q&A

利用免費服務建立R的持續整合環境