這里持續(xù)集成基于GitHub搭建的博客為項(xiàng)目
工具:
zqz@ubuntu:~$ node --versionv4.2.6zqz@ubuntu:~$ git --version git version 2.7.4zqz@ubuntu:~$ travis --version1.8.4
Travis CI 是目前新興的開源持續(xù)集成構(gòu)建項(xiàng)目,它與jenkins,GO的很明顯的特別在于采用yaml格式,簡(jiǎn)潔清新獨(dú)樹一幟。目前大多數(shù)的github項(xiàng)目都已經(jīng)移入到Travis CI的構(gòu)建隊(duì)列中,據(jù)說Travis CI每天運(yùn)行超過4000次完整構(gòu)建。
注意:開始安裝一大堆東西之前,你需要去Travis CI上注冊(cè)一個(gè)賬號(hào)。(一般都會(huì)使用github賬號(hào))
Linux下的安裝(強(qiáng)烈建議不要使用windows來CI)
生成ssh密鑰用于跟倉(cāng)庫(kù)通信
ssh-keygen -t rsa -C "youremail@example.com"
成功后,將.pub結(jié)尾的文件添加到github倉(cāng)庫(kù)中
最后將id_rsa文件復(fù)制到我們項(xiàng)目的根目錄,這樣便于生成密鑰。
cp /home/zqz/.ssh_ci/id_rsa /home/zqz/study/zhaoqize.github.io
安裝
gem install travis
安裝成功后,登陸travis
travis login --auto
登陸成功:
Successfully logged in as zhaoqize!
接著,登陸網(wǎng)頁(yè)版,設(shè)置倉(cāng)庫(kù)。
點(diǎn)擊倉(cāng)庫(kù)名稱左邊的齒輪,設(shè)置開啟下面三個(gè)。
在加密之前我們先在項(xiàng)目跟目錄下新建一個(gè).travis.yml文件。
加密的就是第一步生成的密鑰id_rsa,由于前面我們將密鑰復(fù)制到了項(xiàng)目目錄,所以現(xiàn)在這里有id_rsa文件。
//進(jìn)入項(xiàng)目目錄cd study/study/zhaoqize.github.io //進(jìn)行加密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.
這時(shí)候看最后一句**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)頁(yè),發(fā)現(xiàn)多了一些變化
刪除我們之前復(fù)制到根目錄的id_rsa文件
在項(xiàng)目根目錄下新建一個(gè).travis的文件夾
將生成的.enc文件移動(dòng)至.travis文件
在.travis下建立ssh_config文件。
并填寫如下信息:
Host github.com User git StrictHostKeyChecking no IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes
注意這里的~/.ssh/id_rsa的路徑是根據(jù)個(gè)人設(shè)置而變化的。
最后需要著重配置.travis.yml文件,以為travis ci就是按照這個(gè)文件來執(zhí)行。
具體配置:
# 使用的語(yǔ)言 language: node_js # 使用的nodejs版本 node_js: - 4.4.4# 倉(cāng)庫(kù)的分支 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 的個(gè)人信息 - 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
使用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: 沒有那個(gè)文件或目錄 zqz@ubuntu:~$ sudo ln -s /usr/local/bin/travis /usr/bin/travis [sudo] zqz 的密碼: zqz@ubuntu:~$ travis --version1.8.4zqz@ubuntu:~$
有時(shí)候會(huì)失敗。這時(shí)候我們需要在后面加上一些參數(shù)
travis encrypt-file ssh_key --add -r zhaoqize/blog
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文題目:TravisCI用來持續(xù)集成你的項(xiàng)目-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://jinyejixie.com/article38/hepsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、移動(dòng)網(wǎng)站建設(shè)、虛擬主機(jī)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)