初識Travis CI

編寫代碼只是軟件開發(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容