如何使用 Travis CI 提升 Github上项目开发的效率与自动化?

量子链区块大康2019-08-05 20:22:45  阅读 -评论 0  阅读原文

作为目前世界上规模最大的开源社区,GitHub平台上拥有2700万开发者,托管超过2530万活跃项目。GitHub开发者们面对规模化开发项目都是如何管理的呢?如何能在最短的时间内发现开发问题?有没有免费工具能够帮助我们快速提高代码质量?

为了帮助更多 Qtum 社区开发者能够更好地使用开源网站,方便对Qtum等开源项目进行开发管理,本文将介绍如何使用 Travis CI 对 Github上的项目进行持续集成,从而提升项目开发的效率与自动化。

*图片源于网络

所谓持续集成(Continuous Integration),即为系统不断地根据代码库中的最新代码构建项目,并进行自动化测试,帮助开发者及时发现开发过程的问题,保证开发质量,降低后期修复成本。

目前大多数技术团队对项目进行持续集成的重要性已经取得共识,但真正实践的却还是少数。另一种情况中,当项目开发人员较少时,若实施CI工具,将显著提升代码质量。下面将介绍如何为GitHub上托管的开源项目用Travis CI进行持续集成从而提升开发效率与自动化。

*图片源于网络

Travis CI 介绍

Travis CI 是一个开源的,分布式的持续集成服务,用来构建及测试在 GitHub 托管的代码。

它提供了对多种编程语言的支持,包括 Ruby、JavaScript、Java、Scala、PHP、Haskell 和 Erlang 在内的多种语言。许多知名的开源项目使用它来在每次提交的时候进行构建测试,比如 Ruby on Rails,Ruby 和 Node.js。

开始使用 Travis CI

首先,使用 GitHub 帐号登录 https://travis-ci.org,然后你可以在首页看到你的已开启 Travis CI 服务的项目列表。你可以在 Settings 中添加或删除使用 Travis CI 的项目。

配置 Travis CI

你需要在项目的根目录下添加一个名叫.travis.yml的配置文件,它描述了 Travis CI 每次构建的时候需要做的具体任务。一个最基本的.travis.yml内容大概像这个样子:

language: ruby

rvm:

- 2.2

- jruby

它指出了这个项目需要使用Ruby 2.2以及最新版本的JRuby来构建。你需要把这个配置文件提交到你的仓库里面去,以触发 Travis CI 执行一次构建。

默认情况下,每一次 Push 到 GitHub 仓库,或者每一次的 Pull Request 都会触发一次构建。

触发构建后,你可以在 Travis CI 的网站 上看到相应的构建情况和构建历史。

Travis CI 构建的生命周期

一次构建任务主要由两部分组成:

  1. install: 安装一些必要的依赖
  2. script: 执行构建脚本

你也可以在安装依赖之前(before_install),执行构建脚本之前(before_script)或之后(after_script)执行一些自定义命令。你也可以在构建成功或失败后执行相应的自定义命令。

完整的生命周期如下:

  1. (可选的) 安装 apt addons
  2. (可选的) 安装 cache components
  3. before_install
  4. install
  5. before_script
  6. script
  7. (可选的) before_cache (用于清除缓存)
  8. after_success 或者 after_failure
  9. (可选的) before_deploy
  10. (可选的) deploy
  11. (可选的) after_deploy
  12. `after_script```

配置样例

上例节选自比特币的.travis.yml配置文件。其中描述内容大致如下:

  • 使用xeniel(Ubuntu 16.04) 进行本次构建
  • 使用ccache对部分构建内容进行缓存
  • 定义了两个构建阶段: lint和test
  • 定义了一些环境变量(env)
  • 指定了安装前的操作(before_install)
  • 指定了安装操作(install)
  • 指定了构建前的操作(before_script)
  • 指定了构建操作(script)
  • 指定了构建完成后的操作(after_script)
  • 指定了构建需要执行的任务列表(jobs)

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们kefu@lianshijie.com

参与讨论 (0 人参与讨论)

相关推荐

ACRE Africa和Etherisc的合资项目获得Chainlink社区激励奖金

我们非常高兴地宣布为东非小农提供小额农业保险的公司获得了Chainlink社区激励奖金。这家小额保险公司由Etherisc和ACRE Africa共同建立。ACRE Africa目前正与Etherisc合作为东非农民提供更公平、可及且低价的保险产品。

Cashbox研发工程师讲解SPV钱包开发重难点(一)

在公众号上一期的介绍中提到,Cashbox下一步将添加一个bitcoin完全去中心化的SPV钱包。下面我将从技术背景和实现方式两方面介绍bitcoin的SPV钱包。SPV的全称是简单支付认证。我们把这种运行SPV节点的应用,称为轻钱包。

Project PAI 项目进度- 2020年11月9日

Project PAI 项目进度- 2020年11月9日

公告和信息 01对于所有独立质押者:请确保您的节点在线并具有投票权! 请在您的质押节点上执行以下脚本:方法如下:1. 在下面的链接下载脚本:https://paicoin-scripts.s3.ap-east-1.amazonaws.com/voter_check.py2. 然后您可以: a. 将脚本上传到用于质押的完整节点,或者; b. 将其内容复制并粘贴到名为 voter_check.py 的

Project PAI 项目进度- 2020年11月2日

Project PAI 项目进度- 2020年11月2日

公告和信息 01记得!挖矿和质押现已公开。 现在,世界上的任何人都可以挖矿和质押!您可以通过以下三种方式进行挖矿和质押:PCP (PAI币池) 当您在PAI币池进行挖矿或质押时,PAI币池所赚取的每个奖励将在获得奖励时正在积极挖矿或投注的所有用户中按比例分配。请在此处在阅读有关在PAI币池中进行挖矿和抵押的更多信息。PAI币池是参与挖矿和抵押的最简单方法。对于挖矿而言,如果您只是在像笔记本电脑这样

BSN测试网服务发布,免费提供区块链开发测试环境

10月31日,区块链服务网络BSN进行了常规的季度版本更新,持续优化现有功能的同时发布全新产品服务。其中,本次推出的BSN"测试网服务"将免费提供给广大开发者,旨在供开发者进行区块链应用的开发测试,试用BSN最新推出的产品服务,以及为区块链技术研究与创新提供试错环境。开发者可至BSN官网的"联盟链服务"-"测试网服务"内免费体验产品服务。BSN测试网服务开发者可以在测试网发布不限定数量的应用服务,

Staking 衍生品赛道即将爆发?哪些项目值得关注

Staking 经济的空间,不可谓不大。Staking 收益低会导致代币流向 DeFi,降低网络安全性;Staking 收益过高,将会增加通胀,造成多方面负面影响。同时系统内 Staking 的收益的 3% 将作为渠道金,奖励给做出贡献的渠道方,以促进生态发展。

接入去中心化预言机Chainlink喂价开发DeFi看涨期权交易平台实例

DeFi这个大类下包含许多智能合约应用场景,如区块链投票、去中心化彩票、流动性挖矿以及去中心化交易平台。本文将教大家如何使用Chainlink喂价预言机在以太坊主网上用Solidity开发简单的看涨期权DeFi交易平台。当然,你也可以将这个实例稍作修改,开发一个看跌期权交易平台。这个平台拥有一个强大的功能,那就是所有价值转移都通过智能合约进行,交易双方可以绕过中间方直接展开交易。因此,这个过程不包

智能合约开发的最佳实践

软件开发的历史已有数十年之久。我们受益于半个世纪以来积累的最佳实践,设计模式和智慧。 相反,智能合约开发才刚刚开始。2015 推出的以太坊和 Solidity 仅有几年的时间。 加密空间是一个不断发展的未知领域。没有确定的工具堆栈来构建去中心化应用。对于智能合约,没有诸如设计模式[3]或代码整洁之道[4]之类的开发人员手册。有关工具和最佳实践的信息遍布各处。 你正在阅读我这份希望它已经存在的指南。

麦妖榜
更新日期 2019-09-03
排名用户贡献值
1牛市来了30910
2BitettFan24187
3等待的宿命23810
4区块大康20369
5六叶树20310
6linjm122719429
7天下无双16192
8lizhen00215280
9让时间淡忘14586
10yelanyi050511349
返回顶部 ↑