Travis CI mysql_DevOps工具介绍连载(34)——Travis CI
原标题: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相关推荐
- 你所熟知的CI/CD工具都是有哪些?
你所熟知的CI/CD工具都是有哪些? https://www.zhihu.com/question/296006908/answer/562263043 推荐一些顶级的开源CI/CD工具,这里只是对这 ...
- Jenkins和GitLab CI/CD:CI/CD工具之战
持续集成(CI)和持续交付(CD)在过去十年左右时间里取得了长足的进步.DevOps测试的兴起引发了针对CI/CD工具的强烈需求.现有的解决方案一直在与时俱进,无数的新产品或新版本正在进入质量检查领域 ...
- 推荐一些顶级的开源CI/CD工具
持续集成.持续交付和持续部署(CI/CD)在开发社区中已经存在多年.有些组织已经有相应的运营工具,但许多没有.对于大多数组织来说,运营团队必须像开发团队一样熟悉CI/CD工具和实践. CI/CD实践对 ...
- 谁才是世界上最好的 CI/CD 工具?
作者 | 韩骏 责编 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 谁才是世界上最好的 CI/CD 工具?TeamCity.Jenkins.Travis CI.AppVeyor 或是 Az ...
- CI / CD工具的简要历史
Jenkins (在与Oracle发生纠纷后从Hudson分叉)已经存在了很长的时间,并已成为创建持续集成(CI)和持续交付/部署(CD)管道的领先平台. 其背后的想法是,我们应该创建执行某些操作(例 ...
- ci/cd工具_CI / CD工具的简要历史
ci/cd工具 Jenkins (在与Oracle发生纠纷后从Hudson分叉)已经存在了很长的时间,并已成为创建持续集成(CI)和持续交付/部署(CD)管道的领先平台. 其背后的想法是,我们应该创建 ...
- 2021好用的CI/CD工具推荐清单
原文 "Quality at Speed" 是软件开发中的新规范. 企业正在朝着DevOps方法论和敏捷文化迈进,以加快交付速度并确保产品质量. 在DevOps中,连续和自动化的交 ...
- 2020年务必要了解的最好用的14款CI/CD工具
"Quality at Speed" 是软件开发中的新规范. 企业正在朝着DevOps方法论和敏捷文化迈进,以加快交付速度并确保产品质量.在DevOps中,连续和自动化的交付周期是 ...
- 开发人员必知的5个CI/CD工具
一旦你选择了最好的CI/CD工具,你将继续你的DevOps生命周期.如果操作得当,它将能够提高产品质量并鼓励你的团队充满自信地进行发布游戏. 软件工程的最新规范是"以更快的速度同时保证产品质 ...
最新文章
- SBIO | 许金荣/江聪团队报道禾谷镰刀菌MAPKs介导的生长发育、逆境响应及生物互作机制...
- 北理工副教授曝学生论文被100%抄袭,对方为南方某985学生,该校抄袭事件还不止一起...
- fabric 一个链码如何调用另一个链码
- 方案 mysql 优点_mysql高可用方案分析
- Understanding LSTM Networks
- Python精通-Python入门基础
- 关于Java里try/catch/finally/有return时执行过程
- html css 怎么使img和a标签在一个行内元素中间对齐
- IIS Express加入MIME映射
- jQuery 下载与安装教程
- 百亿级全网舆情分析系统存储设计
- MFiX存储ReactionRates的模块
- git tag (打标签)
- A。资源库和运行时表结构(5)---JBPM4.4数据库表解释
- Python暴力破解密码
- 使用Vivado软件进行硬件调试
- linux服务篇-Nagios监控
- android type c 耳机检测,USB Type-C 的新音频标准将帮助 Android 设备去掉 3.5mm 耳机孔...
- 计算机视觉、模式识别、图像处理领域的国际会议和会议排名
- BitMap数据结构梳理总结及代码实现
热门文章
- lambda Kappa iota比较
- 【转】ubuntu 下安装mongodb php 拓展的方法
- 数据类型及pythop运算符号
- 全新的 flow.ci Dashboard 上线
- nginx配置文件防盗链
- 也玩有道难题的双立方数问题:Python 版解法
- HttpContext.Current.Cache vs. HttpRuntime.Cache
- python pandas sqlserver_python学好了还可以用到SSIS上,将Python的能力嫁接到SSIS中
- 销售组织与工厂对照表
- SAP 凭证冲销可以使用BAPI_ACC_DOCUMENT_REV_POST或者BDC录制FB08来做