TravisCI用来持续集成你的项目-创新互联
这里持续集成基于GitHub搭建的博客为项目
创新互联从2013年创立,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元上海做网站,已为上家服务,为上海各地企业和个人服务,联系电话: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 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜。目前大多数的github项目都已经移入到Travis CI的构建队列中,据说Travis CI每天运行超过4000次完整构建。
注意:开始安装一大堆东西之前,你需要去Travis CI上注册一个账号。(一般都会使用github账号)
Linux下的安装(强烈建议不要使用windows来CI)
Deploy Key
生成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
安装并登陆travis
安装
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网页,发现多了一些变化
.travis文件夹
删除我们之前复制到根目录的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的路径是根据个人设置而变化的。
.travis.yml
最后需要着重配置.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
成功
安装与使用中遇到的问题
安装travis失败
使用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:~$
生成.enc文件密钥失败
有时候会失败。这时候我们需要在后面加上一些参数
travis encrypt-file ssh_key --add -r zhaoqize/blog
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章题目:TravisCI用来持续集成你的项目-创新互联
网站URL:http://scyanting.com/article/hepsp.html