Reliable

基于 Node.js 的自动化持续集成
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 Node.js 扩展
软件类型 开源软件
地区 国产
投 递 者 宋智明
操作系统 跨平台
开源组织 阿里巴巴
适用人群 未知
 软件概览

Reliable 是分布式架构的持续集成系统,由 Macaca 团队的成员开发。适用于集成构建、集成构建等场景。她是典型的主从结构,分为 reliable-masterreliable-slave 两部分。

特点:

  • 集群负载,合理调配

  • 提供插件机制,易扩展

  • 部署非常简单

  • 便于接入 Gitlab、Github 等社区化系统

同时,她与 Macaca 无缝融合。

使用 Macaca + Reliable 为自己的团队和公司搭建一个开源的自动化集成平台是个不错的选择。

reliable-1reliable-2

Master 一键部署

为了更加便捷的安装体验,reliable-master 是使用 Docker 部署。将源码 clone 到服务器或本机,make deploy env=prod即可,就这么简单。

更详细的配置请见: github/reliable-master/deploy

配置和功能

邮箱

支持简单邮件传输协议,通过配置smtp实现通知创建者,订阅者的的邮件推送功能。

多语言

支持多语言,默认为英文,可以通过配置文件将站点设为中文。

添加用户

通过如下命令为站点添加初始化用户或管理员。

$ make adduser

接下来可以用过 8080 端口访问的站点

home

登录已经创建的用户

login

大功告成

Slave 部署

我们使用 zeromq 做消息队列,所以需要先安装 zeromq。

$ brew install pkg-config
$ brew install zeromq# 
Then
$ npm install reliable-slave -g

指定已经部署的 Master IP 或 域名即完成部署并挂载:

reliable server -m <reliable-master:port> --verbose

文档详见

多种模式

cloud

 

  • 单点模式

  • reliable-slave, reliable-master 部署在同一台机器

  • 此模式节省设备,是最省的用法

  • 集群模式

  • reliable-slave 推荐部署在 Windows 系统或 OSX 系统[推荐 MacMini],reliable-master 部署在专业服务器

  • 众包模式 

  • 用户通过使用 reliable-slave 志愿挂载已经部署好的 reliable-master,提供资源

  • Darwin 流媒体服务器支持使用Reliable UDP的方式发送RTP,Reliable UDP使用数据重传和拥挤控制算法,与TCP协议采取的算法类似。 在使用Reliable UDP发送RTP数据时调用RTPStream::ReliableRTPWrite,具体实现如下: QTSS_Error RTPStream::ReliableRTPWrite(void* inBuffer, UInt3

  • 在 Oracle 数据库中,有时候会看到一个奇怪的事件:reliable message ,当这个事件出现在 TOP 5 中时,可能就会引起大家的焦虑。 我整理一下关于这个事件的种种情形,供大家参考。 Reliable Message 它是一个通用等待事件,用于跟踪Oracle数据库中的许多不同类型的通道通信。很多人简单的将这个等待归入 Message 消息空闲等待,这是不对的,当这个等待出现时,

  • 实现功能 boost::log::ipc::reliable_message_queue用法的测试程序 C++实现代码 #if !defined(BOOST_LOG_WITHOUT_IPC) #include <iostream> #

  • 三大网络层传输的遗留问题: 丢失 乱序 延时 transmission control protocol (TCP) TCP建立一种逻辑连接,是传输层的协议,提供可靠的传输服务 特点: 完全可靠(无重复,不丢包) (每个报文都有编号不会乱序) 面向连接 (通信前先建立连接,建立后,data顺着连接源源不断地传输) 全双工流的传输服务 (双向+异步) 端到端的通信协议 (两个进程直接通信:end t

 相关资料
  • 在上一章最后,我们写的测试可以算得上是单元测试,接着我们可以写一些自动化测试。 编写自动化测试 接着我们就可以用Selenium来做自动化测试。这是ThoughtWorks出品的一个强大的基于浏览器的开源自动化测试工具,它通常用来编写Web 应用的自动化测试。 Selenium与第一个UI测试 先让我们来看一个自动化测试的例子: from django.test import LiveServer

  • 问题内容: 我必须使用CDT,mingw和cdt管理的构建功能(没有外部makefiles或构建环境)来重用当前在eclipse中开发的主要C ++项目。该项目本身由许多子项目组成。 我想将该构建集成到一个连续集成服务器(即jenkins)中,因此必须能够自动化无头构建。 到目前为止,我设法签出了该项目(从jenkins轻松完成),并使用以下命令使用eclipse以无头模式构建它: 但是还不够:

  • 概述 安装和使用 安装 node >= 8.10.0 npm install -g loopback-cli apiconnect 使用 apic loopback npm install --save loopback-component-explorer cd <project> PORT=9001 apic edit 在目录server下面增加文件component-config.jso

  • 在Xcode中,持续集成是自动的并且简化Mac和iOS应用程序的构建、分析、测试和打包的过程,确保应用程序永远保持可发布状态。在持续集成工作流中,使用Mac上的Xcode本地编写应用并将代码迁入一个代码仓库中。然后将代码发送到Xcode Server进行处理,Xcode Server是由OS X Server提供的一个服务。在开发Mac的Xcode中,将运行在server上的bot程序设置好。这些

  • translated_page: https://github.com/PX4/Devguide/blob/master/en/test_and_ci/continous_integration.md translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e PX4 Continuous Integration PX4 builds and

  • 我们做的还不够好,先占个坑。 欢迎贡献章节。

  • 注意有关编写测试的建议, 请参阅 Testing Your Code. Why? 与 Kent Beck 一起撰写关于 持续集成 (简称 : CI ) 的 Martin Fowler 对 CI 进行了如下的描述: 持续集成是一种软件开发实践,团队成员经常整合他们的工作,通常每个人至少每天集成一次 - 导致每天进行多次集成。 每个集成都通过自动构建(包括测试)进行验证,以尽快检测集成错误。 许多团队

  • 对应于 Ruby 的一个或多个版本,你很轻松就可以测试你的网站构建。以下指引将展示怎样在 Travis 上建立一个免费的,集成了处理 pull 请求的 GitHub 的构建环境。如果你使用私有代码库的话,也有相应的付费选择。 1. 启用 Travis 以及 Github 启用 Travis 来构建你的 Github 代码库非常简单: 前往你在 travis-ci.org 的个人档案: https: