歡迎訪問喀什金澄光電有限公司
你的位置:喀什金澄光電有限公司 > 聯系我們 >  > 文章正文

持續集成服務 Travis CI 教程電工電子

時間: 2019-07-08 | 編輯: 166 | 閱讀:166次

為了提高軟件開發的效率,構建和測試的自動化工具層出不窮。Travis CI 就是這類工具之中,市場份額最大的一個。

本文介紹 Travis CI 的基本用法。用好這個工具不僅可以提高效率,還能使開發流程更可靠和專業化,從而提高軟件的價值。而且,它對于開源項目是免費的,不花一分錢,就能幫你做掉很多事情。

一、什么是持續集成?

Travis CI 提供的是持續集成服務(Continuous Integration,簡稱 CI)。它綁定 Github 上面的項目,只要有新的代碼,就會自動抓取。然后,提供一個運行環境,執行測試,完成構建,還能部署到服務器。

持續集成指的是只要代碼有變更,就自動運行構建和測試,反饋運行結果。確保符合預期以后,再將新代碼"集成"到主干。

持續集成的好處在于,每次代碼的小幅變更,就能看到運行結果,從而不斷累積小的變更,而不是在開發周期結束時,一下子合并一大塊代碼。

二、使用準備

Travis CI 只支持 Github,不支持其他代碼托管服務。這意味著,你必須滿足以下條件,才能使用 Travis CI。

擁有 GitHub 帳號

該帳號下面有一個項目

該項目里面有可運行的代碼

該項目還包含構建或測試腳本

如果這些條件都沒問題,就可以開始使用 Travis CI 了。

首先,訪問官方網站 travis-ci.org,點擊右上角的個人頭像,使用 Github 賬戶登入 Travis CI。

Travis 會列出 Github 上面你的所有倉庫,以及你所屬于的組織。此時,選擇你需要 Travis 幫你構建的倉庫,低壓抽屜柜,打開倉庫旁邊的開關。一旦激活了一個倉庫,Travis 會監聽這個倉庫的所有變化。

三、.travis.yml

Travis 要求項目的根目錄下面,必須有一個.travis.yml文件。這是配置文件,指定了 Travis 的行為。該文件必須保存在 Github 倉庫里面,一旦代碼倉庫有新的 Commit,Travis 就會去找這個文件,執行里面的命令。

這個文件采用 YAML 格式。下面是一個最簡單的 Python 項目的.travis.yml文件。

language: python script: true

上面代碼中,設置了兩個字段。language字段指定了默認運行環境,這里設定使用 Python 環境。script字段指定要運行的腳本,script: true表示不執行任何腳本,狀態直接設為成功。

Travis 默認提供的運行環境,請參考官方文檔 。目前一共支持31種語言,以后還會不斷增加。

下面是一個稍微復雜一點的.travis.yml。

language: python sudo: required before_install: sudo pip install foo script: py.test

上面代碼中,設置了四個字段:運行環境是 Python,需要sudo權限,在安裝依賴之前需要安裝foo模塊,然后執行腳本py.test。

四、運行流程

Travis 的運行流程很簡單,任何項目都會經過兩個階段。

install 階段:安裝依賴

script 階段:運行腳本

4.1 install 字段

install字段用來指定安裝腳本。

install: ./install-dependencies.sh

如果有多個腳本,可以寫成下面的形式。

install: - command1 - command2

上面代碼中,如果command1失敗了,整個構建就會停下來,不再往下進行。

如果不需要安裝,即跳過安裝階段,就直接設為true。

install: true 4.2、script 字段

script字段用來指定構建或測試腳本。

script: bundle exec thor build

如果有多個腳本,可以寫成下面的形式。

script: - command1 - command2

注意,script與install不一樣,如果command1失敗,command2會繼續執行。但是,整個構建階段的狀態是失敗。

如果command2只有在command1成功后才能執行,就要寫成下面這樣。

script: command1 && command2 4.3 實例:Node 項目

Node 項目的環境需要寫成下面這樣。

language: node_js node_js: - "8"

上面代碼中,node_js字段用來指定 Node 版本。

Node 項目的install和script階段都有默認腳本,可以省略。

install默認值:npm install

script默認值:npm test

更多設置請看。

4.4 部署

script階段結束以后,還可以設置通知步驟(notification)和部署步驟(deployment),它們不是必須的。

部署的腳本可以在script階段執行,也可以使用 Travis 為幾十種常見服務提供的快捷部署功能。比如,要部署到 Github Pages,可以寫成下面這樣。

deploy: provider: pages skip_cleanup: true github_token: $GITHUB_TOKEN # Set in travis-ci.org dashboard on: branch: master

其他部署方式,請看官方文檔。

4.5 鉤子方法

Travis 為上面這些階段提供了7個鉤子。

before_install:install 階段之前執行

before_script:script 階段之前執行

after_failure:script 階段失敗時執行

after_success:script 階段成功時執行

before_deploy:deploy 步驟之前執行

after_deploy:deploy 步驟之后執行

after_script:script 階段之后執行

完整的生命周期,從開始到結束是下面的流程。

before_install

install

before_script

script

aftersuccess or afterfailure

[OPTIONAL] before_deploy

[OPTIONAL] deploy

[OPTIONAL] after_deploy

after_script

下面是一個before_install鉤子的例子。

before_install: - sudo apt-get -qq update - sudo apt-get install -y libxml2-dev
文章標題: 持續集成服務 Travis CI 教程電工電子
文章地址: http://www.145410.live/lianxiwomen/23234.html
Top
领养区块猫可赚钱吗 上海十一选五遗漏一定牛遗漏 七乐彩走势 陕西11选5玩法 天天红包赛跟步数有关系吗 吉林快3走势图 金猪配资 排列三推荐号码 北京快乐8官网开奖记录 上证指数历史市净率 体彩分分11选五app