travis ci 学习

什么是Travis CI?

   简单来说就是用来做持续集成的工具,可以为你自动构建、测试、打包等等,极大的简化了工作流程。它对Github支持特别好,链接到你的github上,每当有request合并到

master时,它会按照你的要求构建执行


安装Travis CI

1.先要安装ruby  可以先通过ruby -v 检查系统是否安装ruby

2.然后安装 travis    执行gem install travis

3.登录Travis CI

需要输入github账号密码

travis login --auto

正确生成后你会得到两个文件,一个叫 ssh_key,一个叫 ssh_key.pub。刚才我们将 ssh_key.pub添加到了github,下面我们要加密 ssh_key这个私钥并且上传到Travis。

travis encrypt-file ssh_key --add

然后Travis的客户端会自动检测当前目录中的git信息,并且添加到 .travis.yml中去。在进行此步操作前,目录下要先存在 .travis.yml文件,否则会报错。



然后Travis的客户端会自动检测当前目录中的git信息,并且添加到.travis.yml中去。在进行此步操作前,目录下要先存在.travis.yml文件,否则会报错。


在当前目录下新建文件ssh_config,内容为

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

然后指定openssl解密后的生成位置,修改Travis自动插入的解密指令(不要照抄,注意修改密钥)

- openssl aes-256-cbc -K $encrypted_26b4962af0e7_key -iv $encrypted_26b4962af0e7_iv
-in travis.enc -out ~/.ssh/id_rsa -d


紧跟那条解密指令,换行输入:

- chmod 600 ~/.ssh/id_rsa

注意yml格式,短杠后面的空格不能省略。


紧跟上一步操作,换行输入:

- eval $(ssh-agent)
- ssh-add ~/.ssh/id_rsa


将之前创建的ssh_config复制到Travis的虚拟机中去,输入:

- cp .travis/ssh_config ~/.ssh/config

然后制定git使用者信息:

- git config --global user.name "username"
- git config --global user.email username@example.com


关联项目(github)

开源仓库:www.travis-ci.org

私密仓库:www.travis-ci.com

使用你的github账号更具仓库类型登录上述其中一个网站(两个内容一模一样,只是仓库的属性不一样),并赋予其权限,在项目列表中就可以看到你的github上的仓库了,

你需要对哪个项目进行自动集成,首先先打开开关

其次你需要回到你的仓库,在根目录底下添加.travis.yml脚本文件,Travis-ci 是根据这个脚本来执行自动化构建的

至于详细的脚本格式可以参见,Travis-ci的帮助文档(https://docs.travis-ci.com/),格式大致如下所示(https://github.com/tlglovewf/CppTest)

language: c
script:
- pwd
- ls
- cd ConsoleTest
- ls
- pwd
- g++ -v
- echo "start build program"
- g++ test.cpp -o cc.exe
- ./cc.exe
- g++ test.cpp -o oo.exe
- ./oo.exe
- ls 
- tar --version
- tar -cvf output.tar oo.exe cc.exe 
- ls
deploy:
  provider: releases
  api_key:
    secure: EmjPBHtlwaDUaZa1bxcLbnG6YQwucQqaR/xJax+c9kHxxPdXGGR1TbU9tkx49pde+fig+7PnuJKA7KLX0hwzbyqAITvX5mspkUt+cXgfHADexjGUGVCrM0/fgf7e9VvVAXVAFF/hg8frKqaEWI4x5GoY1epD6YMMXMGylQ3oSGKv/UwkpSbf7D0dNgmPLIUx03Cz9snNNz/zvMq5kcrKEGZBRTnsabEyDEEIVyPh1CUBWj28RCuQd7et17Dd16p+RjhKY4ZZRSZJj5yJb3TijI0aKeAEDFJlVF1aO7A0CLlBWYt+uVstlAxBsGnL/8jzT7yFc0W0alu7o7b9vSZ1gEwOc9cIXAQqEtF8mpEJzY7bspkgz04ZPcaOcCmfRmnXdmgzf3wkrMD9QKiOnivmZA0aNDY354xwLGZ8+fU+3Pq9sHHt9jfNXr8pMXJz8iVeizelMgnRa7DFt9/KadE07BAAwaGHeBrZYFZcFYiYMMKfI2NstjayjBIRuQBXAcwdTUqWXYQ06RUkO6UsuaZAOD5RDxG/ZXZuZXFp0q0Ai6e6t7VZ2YbQdOvwAZrGvn0OxmbcvsoPx0PjgfyCLf4/R7vR4I1Wxzw3IPQJ9B4kMteXsVIBKGf6Xi4xaqbKkjMckvNlmgbvAG8ZSEnfuNCBHdJAocWYM7TTRgubO4At2d0=
  file: 
    - "${TRAVIS_BUILD_DIR}/ConsoleTest/cc.exe"
    - "${TRAVIS_BUILD_DIR}/ConsoleTest/oo.exe"
    - "${TRAVIS_BUILD_DIR}/ConsoleTest/output.tar"
  file_glob: true
  skip_cleanup: true
  on:
    repo: tlglovewf/CppTest
    branch: master

.travis.yml 格式检查:http://lint.travis-ci.org/

关于发布,可以通过Travis 自动生成发布信息

命令行输入 travis  setup release  然后根据提示会自动生成包括密钥在内的一系列内容






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值