Travis-CI 与 github 这对好基友

栏目: 服务器 · 发布时间: 6年前

内容简介:摘要: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-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-CI 与 github 这对好基友
  • 基于 travis 的 web-API get 或 post 信息,需要用到 travis 中的 token
  • github 中的集成:issue、PR中都能够妥善的获取到 travis 的状态值

.travis.yml 的书写

  • Jobs
  • 运行流程
    • before_install
    • install:
    • before_script
    • script:
    • after_success or after_failure
    • before_deploy
    • deploy:
    • after_deploy
    • after_script
  • 4种返回值
    passed
    canceled
    errored
    failed 
    

实例

裁剪自 ytdl-org/youtube-dl

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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ajax设计模式

Ajax设计模式

Michael Mahemoff / 杨仁和 / 电子工业出版社 / 2007-5 / 78.00元

★本书荣获LinuxWorld Linux Journal2006年Editors' Choice awards。    ★绝好的一本ajax 高级读物,建议 每个web 程序员都需要买一本,了解什么是真正的好的web设计--网友   [精彩试读一]   [精彩试读二] 本书是一本关于复杂Ajax应用的整体架构设计......一起来看看 《Ajax设计模式》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具