iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Travis CI是什么
  • 104
分享到

Travis CI是什么

2024-04-02 19:04:59 104人浏览 薄情痞子
摘要

这篇文章主要讲解了“Travis CI是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Travis CI是什么”吧!Travis CI 一开始仅仅是个想

这篇文章主要讲解了“Travis CI是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Travis CI是什么”吧!

Travis CI 一开始仅仅是个想法,在当时甚至还有些理想化。在这个项目启动之前,开源社区还没有一个可用的持续集成系统。

随着作为开源协作平台的GitHub越来越被人认可,github也非常需要可以持续对贡献代码进行测试的服务,来保证一个开源项目始终处于稳定健康的状态。

Travis CI开始于2011年初,而且很快得到了一些试用客户。到了2011年夏天,我们每天进行700次构建。所有这些构建都是在一台构建服务器上进行的。Travis CI跟Github***集成,目前Github还是Travis CI的主要平台。

Travis CI在持续集成领域并没有惊天动地的大动作,但它的确重新定义了一些原有的概念,并增加了一些新的想法。其中一个就是你可以在你的测试运行过程中,接近实时的看这个项目的构建日志流。

最重要的一点,Travis CI允许你通过源码里的文件(.travis.yml)来对构建过程进行配置,而不是复杂的用户界面。

Travis CI是什么

Travis CI一开始的架构很简单。通过WEB组件可以让项目和它的构建过程可见,同时,只要一个新的commit提交到了项目,Travis CI就可以接收到来自Github的消息,从而触发构建。

另外一个叫做hub的组件,是负责处理新的提交,将他们转化成一次构建,并且处理构建任务运行和结束时产生的结果数据。

这两个组件都是跟postgresql数据库打交道。

第三部分就是用来控制构建任务本身的线程集合,它们可以用来在虚拟机实例上执行一系列的命令。

Travis CI是什么

本质上,hub会显得比其他部分稍微复杂一些。当hub处理构建日志时,它需要与RabbitMQ进行消息传递。日志会以chunks流的形式从控制构建任务的线程中得到。

Hub更新数据库中的日志和构建结果信息,并且hub推送他们到Pusher。通过Pusher,Travis CI可以在构建开始或结束的时候更新用户界面。

这样的架构一直维持到了2012年,当时我们每天进行7000个构建任务。我们欣喜的看到Travis CI在开源社区越来越广泛的使用,并且开始支持11种语言,包括PHPpython,Perl,Java 和 Erlang。

随着越来越多的使用,Travis CI越来越像是一个开源项目的必备服务了。但是不幸的是,这个系统从一开始构建的时候就没有考虑过监控

Travis CI是什么

过去,总是来自社区的用户通知我们系统没有正常运行,构建任务遇到异常,或是任务信息没有被处理好。

那可真是令人尴尬。我们的***个挑战就是给系统增加监控,数据指标和日志,让Travis CI从一个业务爱好的项目转变为一个重要的商业平台。我们准备发布Travis CI的正式生产版本。

被用户告知系统没有正常运行直到今天仍然是我***的噩梦,我们不得不努力工作建设好数据监控,以使系统能够在出现问题的一开始就及时通知。

如果没有任何数据记录或者良好的日志,我们根本不可能去搞清我们这个小分布式系统到底发生了什么。无论是从哪个方面看,Travis CI都已经是一个分布式系统了。

加入监控指标和日志是一次循序渐进的学习过程,但是最终,它们让我们可以了解这个系统正在做什么,无论是通过图表还是日志。

这对我们而言是一个巨大的提升。可见性对于运行一个分布式系统是非常重要的。

当你写一个系统时,考虑好如何监控它。

做好监控会有助于你的系统更好的在生产环境运行,而不仅仅是通过测试。

关键是,更多的监控不仅仅是让你可以对系统更了解,你也会发现那些你以前未曾想到或见到的问题。系统更高的可见性带来更多的责任感。现在我们需要去面对这样的事实:我们对系统的错误有了更多的了解,所以我们必须更有效的工作来减少这些错误所带来的影响。

感谢各位的阅读,以上就是“Travis CI是什么”的内容了,经过本文的学习后,相信大家对Travis CI是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Travis CI是什么

本文链接: https://www.lsjlt.com/news/86419.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Travis CI是什么
    这篇文章主要讲解了“Travis CI是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Travis CI是什么”吧!Travis CI 一开始仅仅是个想...
    99+
    2024-04-02
  • Gitlab CI是什么意思
    这篇文章主要介绍Gitlab CI是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Gitlab CI 是一个功能非常强大的持续集成系统,有很多不同的功能,而且每次发布都会增加新的功能。它的技术文档也很丰富,但...
    99+
    2023-06-27
  • SAP ABAP的CI/CD解决方案是什么
    这篇文章将为大家详细讲解有关SAP ABAP的CI/CD解决方案是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。如今国外很多partners已经在尝试Jenkins + abapGit ...
    99+
    2023-06-04
  • CI/CD工具选Jenkins还是GitLab CI/CD
    这篇文章主要介绍“CI/CD工具选Jenkins还是GitLab CI/CD”,在日常操作中,相信很多人在CI/CD工具选Jenkins还是GitLab CI/CD问题上存在疑惑,小编查阅了各式资料,整理出...
    99+
    2024-04-02
  • PHP的CI框架怎么用
    小编给大家分享一下PHP的CI框架怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!CI是PHP的一个框架,使用该框架可以使得...
    99+
    2024-04-02
  • ci怎么防止xss攻击
    ci防止xss攻击的方法:对全局的POST、GET、COOKIE进行过滤,打开config.php文件,配置如下:$config['global_xss_filtering'] = TRUE;...
    99+
    2024-04-02
  • 浅析GitLab的CI是否会一起安装
    近年来,随着云计算和DevOps的发展,开发者们越来越倾向于使用CI/CD工具来进行持续集成、交付和部署,提高应用程序的质量和交付速度。GitLab作为一个开源的Git仓库管理系统,除了提供源码管理的功能外,还内置了CI/CD工具链,可用于...
    99+
    2023-10-22
  • Gitlab的CI/CD功能怎么用
    这篇文章主要介绍Gitlab的CI/CD功能怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SpringBoot实战电商项目mall(50k+star)地址:https://github.com/macrozhe...
    99+
    2023-06-20
  • golang语言项目是如何配置Gitlab CI的
    这篇文章主要讲解了“golang语言项目是如何配置Gitlab CI的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang语言项目是如何配置Gitlab CI的”吧!golang项目 ...
    99+
    2023-06-21
  • gitlab ci和cd命令怎么使用
    这篇文章主要介绍“gitlab ci和cd命令怎么使用”,在日常操作中,相信很多人在gitlab ci和cd命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”gitlab ...
    99+
    2023-07-06
  • php ci怎么实现中文转拼音
    在全球化的今天,我们常常需要将中文转换成拼音来方便外籍人士学习汉语,或者方便分析处理中文数据。在网站开发中,我们也经常需要将中文转换成拼音来实现各种功能。在PHP CI中,我们可以使用一些第三方插件来实现中文转拼音的功能。一、准备工作要实现...
    99+
    2023-05-14
  • Spring之什么是ObjectFactory?什么是ObjectProvider?
    目录ObjectFactory接口定义跟FactoryBean的区别及联系ObjectProvider接口定义接口分析ObjectProvider解决的问题总结在Spring的学习过...
    99+
    2023-01-01
    Spring ObjectFactory Spring ObjectProvider ObjectFactory ObjectProvider
  • Windows Vista是什么?什么是Windows Vista
      我身边很多朋友对Windows Vista是什么一点都不知道,经常来问我,所以今天我就像大家详细介绍Windows Vista这个操作系统,如有不足,还请大家见谅,好了,进入正题:   Windows Vista是微...
    99+
    2023-06-05
    Windows Vista
  • CMS CI/CD的艺术,原来可以这么酷炫!
    CMS CI/CD的必要性 随着内容管理系统(CMS)变得越来越复杂,其开发和部署过程也变得更加繁琐。为了应对这些挑战,CMS CI/CD(持续集成和持续部署)应运而生。CMS CI/CD是一种自动化和集成的开发和部署过程,可以帮助开发...
    99+
    2024-02-25
    CMS CI/CD DevOps 自动化 持续集成 持续部署
  • window.setinterval是什么 其作用是什么
    window.setInterval是一个JavaScript方法,它允许您周期性地执行指定的函数或代码块。该方法以指定的时间间隔(以毫秒为单位)触发指定的函数。window.setInterval的语法如下:javascriptsetIn...
    99+
    2023-07-12
  • colspan_colspan是什么意思?作用是什么
    colspan是HTML中的一个属性,用于指定一个单元格横跨的列数。作用是将一个单元格合并为多个列,使得该单元格占据更大的水平空间。...
    99+
    2023-08-22
    作用
  • 打通CMS CI/CD任督二脉,原来这么简单!
    CI/CD流程实现内容管理系统自动部署 CI/CD是Continuous Integration和Continuous Delivery的简称,是一种软件工程实践,可以帮助团队快速而可靠地将代码更改交付给生产环境。CI/CD流水线可以自动...
    99+
    2024-02-25
    CI/CD CMS Jenkins GitLab Docker Kubernetes
  • 什么是DHCP?什么是DHCP服务器
    DHCP是Dynamic Host Configuration Protocol(动态主机配置协议)的缩写,它是一种网络协议,常用于...
    99+
    2023-09-05
    DHCP服务器
  • c++中什么是类,什么是对象
    c++kquote>类在 c++ 中代表对象集合的模板,定义了对象的属性(数据成员)和行为(成员函数)。对象是类的实例,拥有类中的所有数据成员和成员函数,由类创建,并使用与类相同的...
    99+
    2024-05-08
    c++
  • c#什么是委托什么是事件
    委托是一种指向方法的引用类型,用于实现松散耦合,而事件是一种特殊委托,用于事件处理。委托可将调用方法的职责转移到接收方,提高代码可重用性。事件允许对象向订阅者通知事件发生,订阅者可响应事...
    99+
    2024-04-04
    c#
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作