内容简介:摘要:github 能够与多种持续集成(CI)和持续交付(CD)工具融合,github 的 marketplace 中有整理好的Travis 等工具的CI功能相比 Jenkins 会弱一些,可配置性、灵活性、和插件都不可比,但 travis 不需要自己搭建和维护 CI 服务器,github 上 public项目就免费提供服务,Jenkins则需要自己搞台电脑or云主机,两者一比,免费的午餐又胜利了。
摘要:
- Travis-CI 免费、可配置,可能是 github 上 CI 工具的头魁。
- 本文简述 Travis-CI 的配置操作步骤、配置文件释义。
github 能够与多种持续集成(CI)和持续交付(CD)工具融合,github 的 marketplace 中有整理好的 一份CI工具清单 ,里面列了 20+ CI工具,其中 10+ 个还带有“Verified by Github”的绿色认证标签,2017年github推出过一篇 blog ,统计出top10,Travis、Circle、Jenkins 为前三,但2019年我想估计排位已经变化了,至少上面清单中已经找不到 Jenkins 了。
Travis 等 工具 的CI功能相比 Jenkins 会弱一些,可配置性、灵活性、和插件都不可比,但 travis 不需要自己搭建和维护 CI 服务器,github 上 public项目就免费提供服务,Jenkins则需要自己搞台电脑or云主机,两者一比,免费的午餐又胜利了。
Travis-CI 基本步骤:
| 顺序 | Github | Travis |
|---|---|---|
| 1. | 根据 travis 文档 ,在个人的repo中写 .travis.yml |
|
| 2. | 利用github账号登录 travis.org (开源项目) 或 travis.com (私有项目) | |
| 3. | travis 自动同步到 github 上的 repo 列表,点击打开列表中希望关联使用CI的 repo | |
| 4. | github 中该 repo 的 settings-webhooks 中即可查看到新增了一项,可适当配置触发事件 | |
| 5. | Travis-CI Dashboard 中可以手动触发build、查看自动&手动build的进度…… | |
| 6. | Travis 被触发后,自动依次搭建环境,并在每个环境中按流程执行 install、script、deploy……中用户自己指定的动作 | |
| 7. | 使用 travis 的运行状态值 |
可以有几种方式获取&使用 travis 的状态值:
- 在blog、个人网站、github等放置图标,
- 格式:
[](https://travis-ci.org/wkevin/youtube-dl) - 效果:
- 格式:
- 基于 travis 的 web-API get 或 post 信息,需要用到 travis 中的 token
- github 中的集成:issue、PR中都能够妥善的获取到 travis 的状态值
.travis.yml 的书写
- Jobs
-
language:python -
python: -
dist: xenial- Ubuntu
- 12.04 Precise Pangolin(精准的穿山甲)
- 14.04 Trusty Tahr (可靠的塔尔羊) :
dist: trusty - 16.04 Xenial Xerus (好客的非洲地松鼠) :
dist: xenial - [18.04 Bionic Beaver(仿生海狸)]
- win :
os: windows - macOS :
os: osx
- Ubuntu
-
env: -
matrix:—— 最终的 jobs = (python:*dist:*env:)-exclude:+include:-
exclude:: 对 (python:*dist:*env:) 的排列组合进行滤除 -
include::不管上述排列组合,此处新增一些指定环境 -
allow_failures:增加滤镜
-
-
- 运行流程
-
before_install: -
install: -
before_script: -
script: -
after_successorafter_failure: -
before_deploy: -
deploy: -
after_deploy: -
after_script:
-
- 4种返回值
passed canceled errored failed
实例
language: python
python:
- "2.7"
- "3.5"
- "3.6"
- "pypy"
- "pypy3"
dist: trusty
env:
- YTDL_TEST_SET=core
- YTDL_TEST_SET=download
matrix:
include:
- python: 3.7
dist: xenial
env: YTDL_TEST_SET=core
- python: 3.7
dist: xenial
env: YTDL_TEST_SET=download
allow_failures:
- env: YTDL_TEST_SET=download
before_install:
- if [ "$JYTHON" == "true" ]; then ./devscripts/install_jython.sh; fi
script: ./devscripts/run_tests.sh
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
新零售:低价高效的数据赋能之路
刘润 / 中信出版集团 / 2018-9 / 65.00元
小米新零售,如何做到20倍坪效? 天猫小店,如何利用大数据助力线下零售? 盒马鲜生,为什么坚持必须用App才能买单? 名创优品,实体小店在电商冲击下,如何拥抱春天? 新零售的未来在何方?什么样的思维模式才可应对? 新零售,不是商界大佬的专用名词,它就在我们生活触手可及的各个角落——小到便利店的酸奶,大到京东商城的冰箱,都蕴含着消费者、货物、经营场所三者共同作用的经济逻......一起来看看 《新零售:低价高效的数据赋能之路》 这本书的介绍吧!