您好,登錄后才能下訂單哦!
這里持續集成基于GitHub搭建的博客為項目
工具:
zqz@ubuntu:~$ node --versionv4.2.6zqz@ubuntu:~$ git --version git version 2.7.4zqz@ubuntu:~$ travis --version1.8.4
Travis CI 是目前新興的開源持續集成構建項目,它與jenkins,GO的很明顯的特別在于采用yaml格式,簡潔清新獨樹一幟。目前大多數的github項目都已經移入到Travis CI的構建隊列中,據說Travis CI每天運行超過4000次完整構建。
注意:開始安裝一大堆東西之前,你需要去Travis CI上注冊一個賬號。(一般都會使用github賬號)
Linux下的安裝(強烈建議不要使用windows來CI)
生成ssh密鑰用于跟倉庫通信
ssh-keygen -t rsa -C "youremail@example.com"
成功后,將.pub結尾的文件添加到github倉庫中
最后將id_rsa文件復制到我們項目的根目錄,這樣便于生成密鑰。
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!
接著,登陸網頁版,設置倉庫。
點擊倉庫名稱左邊的齒輪,設置開啟下面三個。
在加密之前我們先在項目跟目錄下新建一個.travis.yml文件。
加密的就是第一步生成的密鑰id_rsa,由于前面我們將密鑰復制到了項目目錄,所以現在這里有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.。
我們新建的文件一句發生了變化,多了一句:(私人內容使用XXX代替)
- openssl aes-256-cbc -K $encrypted_XXXXXXXX_key -iv $encrypted_XXXXXXXX_iv -in id_rsa.enc -out ~/.ssh/id_rsa -d
再次查看我們的travis ci網頁,發現多了一些變化
刪除我們之前復制到根目錄的id_rsa文件
在項目根目錄下新建一個.travis的文件夾
將生成的.enc文件移動至.travis文件
在.travis下建立ssh_config文件。
并填寫如下信息:
Host github.com User git StrictHostKeyChecking no IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes
注意這里的~/.ssh/id_rsa的路徑是根據個人設置而變化的。
最后需要著重配置.travis.yml文件,以為travis ci就是按照這個文件來執行。
具體配置:
# 使用的語言 language: node_js # 使用的nodejs版本 node_js: - 4.4.4# 倉庫的分支 branches: only: - master # 執行isntall前需要執行的命令 before_install:# 配置解密信息 - openssl aes-256-cbc -K $encrypted_4bba640059d8_key -iv $encrypted_4bba640059d8_iv -in .travis/id_rsa.enc -out ~/.ssh/id_rsa -d # 改變文件權限 - 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# 執行install install: - npm install hexo-cli -g - npm install # 執行命令腳本 script: - hexo clean - hexo g -d
使用sudo權限操作
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:~$
有時候會失敗。這時候我們需要在后面加上一些參數
travis encrypt-file ssh_key --add -r zhaoqize/blog
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。