編寫代碼只是軟件開發(fā)的一小部分,更多的時間往往花在構(gòu)建(build)和測試(test)。
為了提高軟件開發(fā)的效率,構(gòu)建和測試的自動化工具層出不窮。Travis CI?就是這類工具之中,市場份額最大的一個。

本文介紹 Travis CI 的基本用法。用好這個工具不僅可以提高效率,還能使開發(fā)流程更可靠和專業(yè)化,從而提高軟件的價值。而且,它對于開源項目是免費的,不花一分錢,就能幫你做掉很多事情。
一、什么是持續(xù)集成?
Travis CI 提供的是持續(xù)集成服務(wù)(Continuous Integration,簡稱 CI)。它綁定 Github 上面的項目,只要有新的代碼,就會自動抓取。然后,提供一個運行環(huán)境,執(zhí)行測試,完成構(gòu)建,還能部署到服務(wù)器。
持續(xù)集成指的是只要代碼有變更,就自動運行構(gòu)建和測試,反饋運行結(jié)果。確保符合預(yù)期以后,再將新代碼"集成"到主干。
持續(xù)集成的好處在于,每次代碼的小幅變更,就能看到運行結(jié)果,從而不斷累積小的變更,而不是在開發(fā)周期結(jié)束時,一下子合并一大塊代碼。
二、使用準(zhǔn)備
Travis CI 只支持 Github,不支持其他代碼托管服務(wù)。這意味著,你必須滿足以下條件,才能使用 Travis CI。
擁有 GitHub 帳號
該帳號下面有一個項目
該項目里面有可運行的代碼
該項目還包含構(gòu)建或測試腳本
如果這些條件都沒問題,就可以開始使用 Travis CI 了。
首先,訪問官方網(wǎng)站?travis-ci.org,點擊右上角的個人頭像,使用 Github 賬戶登入 Travis CI。
Travis 會列出 Github 上面你的所有倉庫,以及你所屬于的組織。此時,選擇你需要 Travis 幫你構(gòu)建的倉庫,打開倉庫旁邊的開關(guān)。一旦激活了一個倉庫,Travis 會監(jiān)聽這個倉庫的所有變化。

三、.travis.yml
Travis 要求項目的根目錄下面,必須有一個.travis.yml文件。這是配置文件,指定了 Travis 的行為。該文件必須保存在 Github 倉庫里面,一旦代碼倉庫有新的 Commit,Travis 就會去找這個文件,執(zhí)行里面的命令。
language: node_js
node_js:
? - "10"
before_install:
? - npm install karma-cli -g
上面代碼中,node_js字段用來指定 Node 版本。
Node 項目的install和script階段都有默認(rèn)腳本,可以省略。
install默認(rèn)值:npm install
script默認(rèn)值:npm test
更多設(shè)置請看官方文檔。
Travis 為上面這些階段提供了7個鉤子。
before_install:install 階段之前執(zhí)行
before_script:script 階段之前執(zhí)行
after_failure:script 階段失敗時執(zhí)行
after_success:script 階段成功時執(zhí)行
before_deploy:deploy 步驟之前執(zhí)行
after_deploy:deploy 步驟之后執(zhí)行
after_script:script 階段之后執(zhí)行
完整的生命周期,從開始到結(jié)束是下面的流程。
before_install
install
before_script
script
aftersuccess or afterfailure
[OPTIONAL] before_deploy
[OPTIONAL] deploy
[OPTIONAL] after_deploy
after_script
附一張自己測試成功的截圖:

參考地址:
http://www.ruanyifeng.com/blog/2017/12/travis_ci_tutorial.html