内容简介:摘要: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等放置图标,
- 格式:
[![Build Status](https://travis-ci.org/wkevin/youtube-dl.png)](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_success
orafter_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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。