原标题:DevOps工具介绍连载(34)——Travis CI

Travis CI 持续集成

Travis CI 是在线托管的持续集成服务,绑定Github项目,抓取新的代码自动进行测试构建,甚至自动部署到测试环境。使用这项服务,每次我们提交新的代码,都能及时发现问题并修复。

基本步骤

访问官网 travis-ci.org , 用Github账户登陆。

Travis会列出你所有的Github库以及你所属的组织。我们选择需要建立 Travis CI 服务的项目,将项目旁边的开关打开。这样,Travis CI会监听该项目的变化,在每次push/pull request操作后执行测试脚本。

编写测试脚本。

在项目的根目录下新建 .travis.yml 配置文件,并提交到Github库中。

如果需要在Github库下的README.md中显示一个高大上的build-passing图标,可以进行如下配置:

在Travis CI中点击监听项目的Settings

点击头像旁边的build-passing图片,复制url至Github项目的README.md末尾,即可看到当前测试的状态。点击该图标可以跳转到 Travis 查看测试日志

.travis.yml文件

该文件采用yaml格式,存储了测试配置信息。

下面说明.travis.yml中的主要字段

language 指定了默认的运行环境

指定了需要运行的测试脚本

sudo 指定是否需要root权限 如以下就是一个简单的python运行环境的配置文件

install 指定安装脚本

env 定义环境变量

services 指定需要的服务

language: python

sudo: required

python:

- '3.5'

services:

- mysql

install :

- pip install -r requirements.txt

:

- python manage.py test

.travis.yml还提供了加密服务

第一种加密方式是通过在travis CI网页上在仓库设置页添加环境变量,可以用来加密信息。

第二种加密方式则更为安全,实用性更广。通过 travis encrypt命令来加密信息或文件。

首先安装travis命令行客户端

$ gem install travis

登录travis CI$ travis login

进入本地项目的根目录,加密文件。$ travis encrypt-file test.txt --add

注:--add操作会自动将加密环境变量写入.travis.yml。如果想要自己添加,则可不添加--add,命令行会打印出秘钥,

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

将秘钥手动添加到.travis.yml中的before_install字段中即可。

此外,在.travis.yml中还可以配置钩子方法,在执行,install,deploy的前后做一些工作,提高灵活性。

整个测试配置的完整生命周期如下:

before_installinstallbefore_aftersuccess or afterfailure[OPTIONAL] before_deploy[OPTIONAL] deploy[OPTIONAL] after_deployafter_

作者:Dingry977

链接:https://www.jianshu.com/p/8fa9322b8e73

责任编辑:

Travis CI mysql_DevOps工具介绍连载(34)——Travis CI相关推荐

  1. 你所熟知的CI/CD工具都是有哪些?

    你所熟知的CI/CD工具都是有哪些? https://www.zhihu.com/question/296006908/answer/562263043 推荐一些顶级的开源CI/CD工具,这里只是对这 ...

  2. Jenkins和GitLab CI/CD:CI/CD工具之战

    持续集成(CI)和持续交付(CD)在过去十年左右时间里取得了长足的进步.DevOps测试的兴起引发了针对CI/CD工具的强烈需求.现有的解决方案一直在与时俱进,无数的新产品或新版本正在进入质量检查领域 ...

  3. 推荐一些顶级的开源CI/CD工具

    持续集成.持续交付和持续部署(CI/CD)在开发社区中已经存在多年.有些组织已经有相应的运营工具,但许多没有.对于大多数组织来说,运营团队必须像开发团队一样熟悉CI/CD工具和实践. CI/CD实践对 ...

  4. 谁才是世界上最好的 CI/CD 工具?

    作者 | 韩骏 责编 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 谁才是世界上最好的 CI/CD 工具?TeamCity.Jenkins.Travis CI.AppVeyor 或是 Az ...

  5. CI / CD工具的简要历史

    Jenkins (在与Oracle发生纠纷后从Hudson分叉)已经存在了很长的时间,并已成为创建持续集成(CI)和持续交付/部署(CD)管道的领先平台. 其背后的想法是,我们应该创建执行某些操作(例 ...

  6. ci/cd工具_CI / CD工具的简要历史

    ci/cd工具 Jenkins (在与Oracle发生纠纷后从Hudson分叉)已经存在了很长的时间,并已成为创建持续集成(CI)和持续交付/部署(CD)管道的领先平台. 其背后的想法是,我们应该创建 ...

  7. 2021好用的CI/CD工具推荐清单

    原文 "Quality at Speed" 是软件开发中的新规范. 企业正在朝着DevOps方法论和敏捷文化迈进,以加快交付速度并确保产品质量. 在DevOps中,连续和自动化的交 ...

  8. 2020年务必要了解的最好用的14款CI/CD工具

    "Quality at Speed" 是软件开发中的新规范. 企业正在朝着DevOps方法论和敏捷文化迈进,以加快交付速度并确保产品质量.在DevOps中,连续和自动化的交付周期是 ...

  9. 开发人员必知的5个CI/CD工具

    一旦你选择了最好的CI/CD工具,你将继续你的DevOps生命周期.如果操作得当,它将能够提高产品质量并鼓励你的团队充满自信地进行发布游戏. 软件工程的最新规范是"以更快的速度同时保证产品质 ...

最新文章

  1. SBIO | 许金荣/江聪团队报道禾谷镰刀菌MAPKs介导的生长发育、逆境响应及生物互作机制...
  2. 北理工副教授曝学生论文被100%抄袭,对方为南方某985学生,该校抄袭事件还不止一起...
  3. fabric 一个链码如何调用另一个链码
  4. 方案 mysql 优点_mysql高可用方案分析
  5. Understanding LSTM Networks
  6. Python精通-Python入门基础
  7. 关于Java里try/catch/finally/有return时执行过程
  8. html css 怎么使img和a标签在一个行内元素中间对齐
  9. IIS Express加入MIME映射
  10. jQuery 下载与安装教程
  11. 百亿级全网舆情分析系统存储设计
  12. MFiX存储ReactionRates的模块
  13. git tag (打标签)
  14. A。资源库和运行时表结构(5)---JBPM4.4数据库表解释
  15. Python暴力破解密码
  16. 使用Vivado软件进行硬件调试
  17. linux服务篇-Nagios监控
  18. android type c 耳机检测,USB Type-C 的新音频标准将帮助 Android 设备去掉 3.5mm 耳机孔...
  19. 计算机视觉、模式识别、图像处理领域的国际会议和会议排名
  20. BitMap数据结构梳理总结及代码实现

热门文章

  1. lambda Kappa iota比较
  2. 【转】ubuntu 下安装mongodb php 拓展的方法
  3. 数据类型及pythop运算符号
  4. 全新的 flow.ci Dashboard 上线
  5. nginx配置文件防盗链
  6. 也玩有道难题的双立方数问题:Python 版解法
  7. HttpContext.Current.Cache vs. HttpRuntime.Cache
  8. python pandas sqlserver_python学好了还可以用到SSIS上,将Python的能力嫁接到SSIS中
  9. 销售组织与工厂对照表
  10. SAP 凭证冲销可以使用BAPI_ACC_DOCUMENT_REV_POST或者BDC录制FB08来做