TravisCI用來持續(xù)集成你的項目-創(chuàng)新互聯(lián)

這里持續(xù)集成基于GitHub搭建的博客為項目

創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元上海做網(wǎng)站,已為上家服務(wù),為上海各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

工具:

zqz@ubuntu:~$ node --versionv4.2.6zqz@ubuntu:~$ git --version
git version 2.7.4zqz@ubuntu:~$ travis --version1.8.4

Travis CI簡介


Travis CI 是目前新興的開源持續(xù)集成構(gòu)建項目,它與jenkins,GO的很明顯的特別在于采用yaml格式,簡潔清新獨樹一幟。目前大多數(shù)的github項目都已經(jīng)移入到Travis CI的構(gòu)建隊列中,據(jù)說Travis CI每天運行超過4000次完整構(gòu)建。

注意:開始安裝一大堆東西之前,你需要去Travis CI上注冊一個賬號。(一般都會使用github賬號)

Linux下的安裝(強烈建議不要使用windows來CI)

Deploy Key


生成ssh密鑰用于跟倉庫通信

ssh-keygen -t rsa -C "youremail@example.com"

成功后,將.pub結(jié)尾的文件添加到github倉庫中
Travis CI用來持續(xù)集成你的項目

最后將id_rsa文件復(fù)制到我們項目的根目錄,這樣便于生成密鑰。

cp /home/zqz/.ssh_ci/id_rsa /home/zqz/study/zhaoqize.github.io

安裝并登陸travis


安裝

gem install travis

安裝成功后,登陸travis

travis login --auto

登陸成功:

Successfully logged in as zhaoqize!

接著,登陸網(wǎng)頁版,設(shè)置倉庫。
Travis CI用來持續(xù)集成你的項目

點擊倉庫名稱左邊的齒輪,設(shè)置開啟下面三個。
Travis CI用來持續(xù)集成你的項目

加密


在加密之前我們先在項目跟目錄下新建一個.travis.yml文件。

加密的就是第一步生成的密鑰id_rsa,由于前面我們將密鑰復(fù)制到了項目目錄,所以現(xiàn)在這里有id_rsa文件。

//進入項目目錄cd study/study/zhaoqize.github.io //進行加密travis encrypt-file ssh_key --add

加密成功:

zqz@ubuntu:~/study/zhaoqize.github.io$ travis encrypt-file id_rsa --add
Detected repository as zhaoqize/blog, is this correct? |yes|    encrypting id_rsa for zhaoqize/blog
storing result as id_rsa.encstoring secure env variables for decryption

Make sure to add id_rsa.enc to the git repository.
Make sure not to add id_rsa to the git repository.
Commit all changes to your .travis.yml.

這時候看最后一句**Commit all changes to your .travis.yml.。

我們新建的文件一句發(fā)生了變化,多了一句:(私人內(nèi)容使用XXX代替)

- openssl aes-256-cbc -K $encrypted_XXXXXXXX_key -iv $encrypted_XXXXXXXX_iv -in id_rsa.enc -out ~/.ssh/id_rsa -d

再次查看我們的travis ci網(wǎng)頁,發(fā)現(xiàn)多了一些變化
Travis CI用來持續(xù)集成你的項目

.travis文件夾


刪除我們之前復(fù)制到根目錄的id_rsa文件

在項目根目錄下新建一個.travis的文件夾

將生成的.enc文件移動至.travis文件

ssh_config


在.travis下建立ssh_config文件。

并填寫如下信息:

Host github.com
  User git
  StrictHostKeyChecking no
  IdentityFile ~/.ssh/id_rsa
  IdentitiesOnly yes

注意這里的~/.ssh/id_rsa的路徑是根據(jù)個人設(shè)置而變化的。

.travis.yml


最后需要著重配置.travis.yml文件,以為travis ci就是按照這個文件來執(zhí)行。

具體配置:

# 使用的語言
language: node_js

# 使用的nodejs版本
node_js:
 - 4.4.4# 倉庫的分支
branches:
  only:
  - master

# 執(zhí)行isntall前需要執(zhí)行的命令
before_install:# 配置解密信息 - openssl aes-256-cbc -K $encrypted_4bba640059d8_key -iv $encrypted_4bba640059d8_iv -in .travis/id_rsa.enc -out ~/.ssh/id_rsa -d

# 改變文件權(quán)限 - chmod 600 ~/.ssh/id_rsa# 配置 ssh - eval $(ssh-agent) - ssh-add ~/.ssh/id_rsa
 - cp .travis/ssh_config ~/.ssh/config# 配置git 的個人信息 - git config --global user.name 'zqz'
 - git config --global user.email zqz@zhaoqize.com# 執(zhí)行install
install:
 - npm install hexo-cli -g - npm install

# 執(zhí)行命令腳本
script:
 - hexo clean - hexo g -d

成功


Travis CI用來持續(xù)集成你的項目

安裝與使用中遇到的問題


安裝travis失敗

使用sudo權(quán)限操作

zqz@ubuntu:~$ gem install travis
Fetching: ffi-1.9.14.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /var/lib/gems/2.3.0 directory.zqz@ubuntu:~$ sudo gem install travis
Building native extensions.  This could take a while...
...

修改travis的目錄

zqz@ubuntu:~$ travis --versionbash: /usr/bin/travis: 沒有那個文件或目錄
zqz@ubuntu:~$ sudo ln -s /usr/local/bin/travis  /usr/bin/travis
[sudo] zqz 的密碼: 
zqz@ubuntu:~$ travis --version1.8.4zqz@ubuntu:~$

生成.enc文件密鑰失敗

有時候會失敗。這時候我們需要在后面加上一些參數(shù)

travis encrypt-file ssh_key --add -r zhaoqize/blog

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文題目:TravisCI用來持續(xù)集成你的項目-創(chuàng)新互聯(lián)
標題鏈接:http://muchs.cn/article38/hepsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)移動網(wǎng)站建設(shè)、虛擬主機外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營