Travis-CI 与 github 这对好基友

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

内容简介:摘要: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

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

查看所有标签

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

Design systems

Design systems

Not all design systems are equally effective. Some can generate coherent user experiences, others produce confusing patchwork designs. Some inspire teams to contribute to them, others are neglected. S......一起来看看 《Design systems》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具