Travis CI mysql_DevOps工具介绍连载(34)——Travis CI
原標(biāo)題:DevOps工具介紹連載(34)——Travis CI
Travis CI 持續(xù)集成
Travis CI 是在線托管的持續(xù)集成服務(wù),綁定Github項(xiàng)目,抓取新的代碼自動(dòng)進(jìn)行測(cè)試構(gòu)建,甚至自動(dòng)部署到測(cè)試環(huán)境。使用這項(xiàng)服務(wù),每次我們提交新的代碼,都能及時(shí)發(fā)現(xiàn)問題并修復(fù)。
基本步驟
訪問官網(wǎng) travis-ci.org , 用Github賬戶登陸。
Travis會(huì)列出你所有的Github庫(kù)以及你所屬的組織。我們選擇需要建立 Travis CI 服務(wù)的項(xiàng)目,將項(xiàng)目旁邊的開關(guān)打開。這樣,Travis CI會(huì)監(jiān)聽該項(xiàng)目的變化,在每次push/pull request操作后執(zhí)行測(cè)試腳本。
編寫測(cè)試腳本。
在項(xiàng)目的根目錄下新建 .travis.yml 配置文件,并提交到Github庫(kù)中。
如果需要在Github庫(kù)下的README.md中顯示一個(gè)高大上的build-passing圖標(biāo),可以進(jìn)行如下配置:
在Travis CI中點(diǎn)擊監(jiān)聽項(xiàng)目的Settings
點(diǎn)擊頭像旁邊的build-passing圖片,復(fù)制url至Github項(xiàng)目的README.md末尾,即可看到當(dāng)前測(cè)試的狀態(tài)。點(diǎn)擊該圖標(biāo)可以跳轉(zhuǎn)到 Travis 查看測(cè)試日志
.travis.yml文件
該文件采用yaml格式,存儲(chǔ)了測(cè)試配置信息。
下面說明.travis.yml中的主要字段
language 指定了默認(rèn)的運(yùn)行環(huán)境
指定了需要運(yùn)行的測(cè)試腳本
sudo 指定是否需要root權(quán)限 如以下就是一個(gè)簡(jiǎn)單的python運(yùn)行環(huán)境的配置文件
install 指定安裝腳本
env 定義環(huán)境變量
services 指定需要的服務(wù)
language: python
sudo: required
python:
- '3.5'
services:
- mysql
install :
- pip install -r requirements.txt
:
- python manage.py test
.travis.yml還提供了加密服務(wù)
第一種加密方式是通過在travis CI網(wǎng)頁(yè)上在倉(cāng)庫(kù)設(shè)置頁(yè)添加環(huán)境變量,可以用來加密信息。
第二種加密方式則更為安全,實(shí)用性更廣。通過 travis encrypt命令來加密信息或文件。
首先安裝travis命令行客戶端
$ gem install travis
登錄travis CI$ travis login
進(jìn)入本地項(xiàng)目的根目錄,加密文件。$ travis encrypt-file test.txt --add
注:--add操作會(huì)自動(dòng)將加密環(huán)境變量寫入.travis.yml。如果想要自己添加,則可不添加--add,命令行會(huì)打印出秘鑰,
- openssl aes-256-cbc -K $encrypted_741b9a365d8e_key -iv $encrypted_741b9a365d8e_iv-in id_rsa.enc -out ~/.ssh/id_rsa -d
將秘鑰手動(dòng)添加到.travis.yml中的before_install字段中即可。
此外,在.travis.yml中還可以配置鉤子方法,在執(zhí)行,install,deploy的前后做一些工作,提高靈活性。
整個(gè)測(cè)試配置的完整生命周期如下:
before_installinstallbefore_aftersuccess or afterfailure[OPTIONAL] before_deploy[OPTIONAL] deploy[OPTIONAL] after_deployafter_
作者:Dingry977
鏈接:https://www.jianshu.com/p/8fa9322b8e73
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的Travis CI mysql_DevOps工具介绍连载(34)——Travis CI的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 创建删除表_mysql创建删
- 下一篇: qt mysql怎么选表_Qt的Mysq