读了mesos的论文(https://people.eecs.berkeley.edu/~alig/papers/mesos.pdf ),感觉应用在 CI 上的资源管理很赞,能够解决 jenkins在构建中,分配 executor 以及 executor 在building 的时候 hang 的问题,所以装了一个来试一下. 首先是先装 mesos 了,官网 1.3.0 rpm -Uvh http://repos.mesosphere.com/el/6/noarch/RPMS/mesosphere…
在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集群中去.这个才是我们最终的目标.众所周知,k8s 是目前最火的容器编排项目,很多公司都使用它来构建和管理自己容器集群,可以用来做机器学习训练以及 DevOps 等一系列的事情. 在这里,我们聚焦 CI/CD,针对于 Spring Boot 项目,借助 Gitlab CI 完成流水线的任务配置,最终部…
Mesos 资源分配 众所周知, Mesos在运行时使用wDRF( Dominant Resource Fairness)算法进行一级资源分配, 通过应用程序(Framework)运行时使用资源进行二级资源调度.以此来达到资源分配的公平性和灵活性.但在资源有限的情况下,对于尚未部署的程序如何分配资源?为此Mesos提供了两种方式,基于指定节点(Agent)的资源预留(reserve)和基于整个集群的资源配额(quota).这种资源管理方式间接的划分了整个集群的资源. 附:其中 --weights…
CI集成phpunit时,运行报No code coverage driver is available的错误,如下图: yanglingdeMacBook-Pro:tests yangling$ phpunit PHPUnit 6.1.3 by Sebastian Bergmann and contributors. Error: No code coverage driver is available .... 4 / 4 (100%) Time: 220 ms, Memory: 10.00…
星云测试Horn插装采用脚本配置方式自动对语法进行扫描和插装,在整个插装过程中需要用到星云提供的插件工具.通过与CI集成,在CI编译前通过jenkins调用星云插装插件模块进行必要的数据填充,生成对应的项目插装脚本,即可以通过星云插装插件进行项目插装与编译. 通过星云插件脚本自动创建工程和代码插装 1.解压星云提供的插件包 星云测试在windows环境下提供的插装工具为javaForWindows工具包:将javaForWindows放到合适目录下并解压即可.(LINUX使用LINUX插件包).…
上一篇有讲关于fastlane自动化部署,本篇将会着重讲关于fastlane的实际应用. 目标: 利用自动化jenkins打包工具,自动拉取git仓库代码 不需要通过手动检查修改xcode中项目配置修改(provisioning,codesigning) 支持多渠道(chanel,appstore,enterprise,develop,adhoc) 支持一键上传appstore(首次需要输入账户,密码) 企业版本自动上传序号dsym文件到对应平台(fir的hdbug平台) 创建fastlane文…
给新伙伴的忠告:不要去想着有多复杂,看一遍绝对就会弄了! 这样集成的目的是什么? 因为我使用过CI和smarty,所以我就按自己的理解讲一下:CI框架在控制器.models方面做的很好,但在多变的视图方面我感觉没有专门处理视图的smarty模板做的好,因此就想到了将这两者合并,各取其长. 1.下载CI框架.smarty模板,这个就不需要我多说了. 2.将smarty的libs文件夹copy到CI的third_party文件夹下(其实copy到哪个文件夹下是无所谓的,只要加载到它就行了),并更名为…
WoodpeckerCI 是一个由社区维护的 DroneCI 分支,使用 Apache License 2.0 许可证发布.社区版进一步扩展了 pipeline 的功能特性.支持对文件路径设置 pipeline 执行条件,并且可以与 Gitea 实现紧密集成.不同的是,DroneCI 的配置文件是 .drone.yml,WoodpeckerCI 重命名为了 .woodpecker.yml.好在 WoodpeckerCI 也兼容 DroneCI 的配置文件,迁移起来并不会太麻烦. 下面,我们以 t…
前段时间使用CI做了两个小项目,对CI的流程和设计理念也有了一些新的认识.CI架构的一些基本优化这里就不做介绍了,如搬离system 文件夹等. 最近有一个稍微大一点的系统,也准备拿CI来做.设计时遇到架构上的一个问题: 我们知道,CI的工作流程大致是这样的,官网3.0的图: 一个典型的网站加载流程应该是在 controller 里添加public 方法,在方法里调用 load->view() 来显示视图,返回结果.CI 对于敏捷开发快速迭代相当友好,一个网站很容易就搭起来,而且似乎还条理清晰.…
前言 哈喽大家好,好久都没有写文章了,这次又重新开始写技术文章了,半年前我还是一直保持每周都写文章的,后来是为了响应群友的号召,开始踏上了录制视频(https://www.bilibili.com/video/av58096866),直播授课(https://live.bilibili.com/21507364)的道路,目前看来效果还算基本及格吧,虽然人气没有那些大佬的多,不过我也是一直很尽心力,包括字幕的录入,每周三定期的讲课,不过真的很累,但是自认为做的还可以了,只是没能申请上MVP…
因为CI自带的模板功能不是很方便,所以大家普遍采用集成Smarty的方式来弥补CI这方面的不足. 本人在网上看了不少CI集成Smarty的教程,包括咱们CI论坛里面的一个精华帖子 http://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=10345. 自己对比了一下这些教程,我认为下面这个方案是所有里面最优秀的,强烈推荐给大家(当然也是我自己采取的方案) 出处: http://www.cnmiss.cn/?p=261 原文里面的一…
CI持续集成 “我的TDD实践”系列之CI持续集成 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先行,后理论专精的目的. TDD实践系列文章: 1.TDD概念篇 2.CI持续集成 3.SVN架设篇 4.NUint测试框架 5.Mock模拟框架 6.Inject注入框架 7.TestCoverage代码覆盖率工具 8.UMLTool建模工具 9.SandCastle构建文档 简介 CI(Conti…
“我的TDD实践”系列之CI持续集成 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先行,后理论专精的目的. TDD实践系列文章: 1.TDD概念篇 2.CI持续集成 3.SVN架设篇 4.UnitTest单元测试 简介 CI(Continuous Integration)持续集成,最重要的服务对象是TDD,它是一个集合概念,包括自动构建build项目,自动分析代码,自动测试,自动邮件报告,自动预…
Apache Mesos能够成为最优秀的数据中心资源管理器的一个重要功能是面对各种类型的应用,它具备像交警一样的疏导能力.本文将深入Mesos的资源分配内部, 探讨Mesos是如何根据客户应用需求,平衡公平资源共享的.在开始之前,如果读者还没有阅读这个系列的前序文章,建议首先阅读它们.第一篇是Mesos的概述,第二篇是两级架构的说明,第三篇是数据存储和容错. 我们将探讨Mesos的资源分配模块,看看它是如何确定将什么样的资源邀约发送给具体哪个Framework,以及在必要时如何回收资源.让我们先…
前言 Gitea 是一个用于代码托管的轻量级单体程序,它能与现有的经典应用集成,诸如代码分析工具 SonarQube.持续集成工具 Drone.Jenkins 以及用于工单管理的客户端插件(VSCode.Jenkins IDE). 不久之后,Gitea 也将迎来自身集成的一体化 CI/CD 功能. 今天要介绍的是 Gitea 与 Jenkins CI/CD 的集成. 关于 Jenkins Jenkins 是一款开源的.提供友好操作界面的持续集成(CI)工具,在国内外都有众多的使用者.Jenkin…
这周一,我们迫不及待写下了最新的 changelog -- 项目语言新增「Java」.创建 Java 项目工作流和其它语言项目配置很相似,flow.ci 提供了默认的 Java 项目构建流程模版,快去试试吧- []åç(http://7xsn88.com1.z0.glb.clouddn.com/image/6/6f/cb9ecfd352a8b1ce7889835b0aa08.png) 最近 flow.ci 2017 招聘计划正式启动,我们需要高级 Ruby 工程师. 高级前端工程师.DevOps…
如大家所期待,flow.ci 现已支持开源中国的代码仓库 - 码云,可以直接构建 Git@OSC 的项目了,点击创建项目-选择代码仓库-选择码云-绑定 OSChina 账户-选择要构建项目,教程看这里哟! 最近,我们在征集 flow.ci 的 iOS 最佳实践,感谢用户 GitHub@mzying2013 和 @君赏 的精心分享,供大家参考,期待更多的投稿 :) iOS自动构建套件 - flow.ci + fir.im + Coding 我和 flow.ci 的第一次亲密接触 再来看看这期 CI…
微信支付Native扫码支付模式二之CodeIgniter集成篇  http://www.cnblogs.com/24la/p/wxpay-native-qrcode-codeigniter.html CI:3.0.5 微信支付API类库来自:https://github.com/zhangv/wechat-pay 请先看一眼官方场景及支付时序图:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5 官方API列表:https…
一直很想谈谈Continuous Integration(CI),持续集成. 就在不久前一次朋友聚会上,一个刚刚跳槽到一家创业公司的朋友跟我抱怨说他们没有CI,没有code review,要做点事太累了.而其实让这个刚刚开始上手的新手项目经理无语到吐的原因是,他们的一名主要开发人员责任心不够,很难沟通,bug率很高,还不愿加班改bug. “现在招人很难的啊,所以也不能把他fire掉,哎...” “有了CI又能怎样呢?” “至少不用等到QA发现问题,下班前就能抓住他了!不过现在我们QA连自动化测试…
mesos解决的问题 不同的分布式运算框架(spark,hadoop,ES,MPI,Cassandra,etc.)中的不同任务往往需要的资源(内存,CPU,网络IO等)不同,它们运行在同一个集群中,会相互干扰,为此,应该提供一种资源隔离机制避免任务之间由资源争用导致效率下降,考虑到资源利用率,运维成本,数据共享等因素,公司一般希望将所有这些框架部署到一个公共的集群中,让它们共享集群的资源,并对资源进行统一使用,这样,便诞生了资源统一管理与调度平台,典型的代表就是mesos和yarn. Mesos…
前言 总是三分钟热度的我折腾了一个可以每天自动截取指定网站页面并保存到Github的项目SiteHistory,感觉挺好(每次都这样). 想知道YouTube今天的首页长啥样么?点此查看 想知道YouTube2017年8月31日的首页长啥样么?明天再点开 想为你的网站增加访客么?不要问我,我不知道. 那年那站那样 伴随着时间,记录着网站的历史 记录下网站现在的样子,待那年今日 那一年,那个网站,是那个样子 项目地址:https://github.com/yimogit/SiteHistory 技…
本文为CI集成支付宝即时到账支付接口 1.下载支付宝官方demo ;即时到账交易接口(create_direct_pay_by_user)(DEMO下载) 原文地址:https://doc.open.alipay.com/doc2/detail?treeId=62&articleId=103566&docType=1 2.登录支付宝https://www.alipay.com/  下载CA证书.将证书放在下载的demo文件夹的根目录下.2.将下载的create_direct_pay_by_…
做为一个略微看过nodejs语法,但又不懂nodejs的攻城狮,搭建hexo环境很是麻烦,要考虑到FQ版本兼容等问题.于是乎,博主每换一个电脑,为了能继续发博客,都需要在新电脑上花一天时间重新搞一下 hexo 环境,楼主感觉还是有简洁的方案来实现我一提交代码就可以自动发布博客,不需要再手动操作一波,这样岂不美哉.so,也就有了今天的经历,代码可以持续集成,博客也可以.楼主的解决方案是使用gitlab与gitlab-runner实现博客部署的持续集成,效果真的不要太好. 持续集成工具 gitlab…
本文转自:http://ifeve.com/spark-mesos-spark/ 在Mesos上运行Spark Spark可以在由Apache Mesos 管理的硬件集群中运行. 在Mesos集群中使用Spark的主要优势有: 可以在Spark以及其他框架(frameworks)之间动态划分资源. 可以同时部署多个Spark实例,且各个实例间的资源分配可以调整. 工作原理 在独立部署的Spark集群中,下图里的Cluster Manager代表Spark master.然而,在Mesos集群中,…
上周一个大件就是dotnet core2.0发布了,伴随着.NET Standard2.0也发布了,整个微软的生态环境大好,当然也有一个BUG出来了,比如EFCore对Mysql的支持比起1.1来说,还是有缺陷的,这个相信很好解决,今天主要说一下在windows里安装了jenkins和dotnetCore之后,如何它把集成到jenkins里来,让它持久集成! 安装dotnet core sdk 2.0 安装jenkins 在github上建立一个core的项目 开始我们的CI之旅 dotnet是…
初衷:今天公司的前端和测试人员吵起来了.原因是测试埋怨前端人员把Bug的状态更改为已解决,结果代码根本没提交,而前端人员埋怨测试测的太频繁了,需要打几个环境的包不方便.又要改东西又要频繁打包费时间.凡正各有各的理由,就是不想办法解决问题. 哎,没办法,为了解决这种问题,我打算看看Gitlab的CI集成,如果能弄上这个那么开发只管提代码就行了,会自动构建环境. 我这也是现学现卖,今天照着官网和查资料,刚把基本的流程跑通,中间还是费了点时间的,这里记录下 gitlab ci/cd快速入门 按照官网上…
资源管理与调度系统-资源管理系统Mesos 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Mesos是诞生于UC Berkeley的一个研究项目,它的设计动机是解决编程模型和计算框架在多样化环境下,不同框架间的资源隔离和共享问题. 尽管他的直接设计动机与YARN稍有不同,但它的架构和实现策略与YARN类似.当前部分公司在使用Mesos管理集群资源,比如外国的Twitrer,国内的豆瓣等. Mesos官方链接 :http://mesos.apache.org/ 豆瓣的dpark…
项目集成swagger 一:思考: 1.swagger解决了我们什么问题? 传统开发中,我们在开发完成一个接口后,为了测试我们的接口,我们通常会编写单元测试,以测试我们的接口的可用性,或者用postman等第三方接口测试工具进行测试,但是这也有一些弊端,我们需要为接口准备测试数据,但有时,数据量较大时,前期准备工作可能相当耗时​​ 2.除了用于接口测试,我们还能利用它做些什么有意义的事呢? 在项目的开发过程中,我们通常会用到大量的定时任务:a.分布式环境:quartzb.单机环境:有spring…
Docker已经火了很长一段时间,最近打算在阿里云上好好熟悉一下Docker的相关应用,为今后的工作做准备. 基本概念 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotCloud公司,其目标是"Build, Ship and Run Any App, Anywhere",主要概念包括镜像.容器.仓库.Docker引擎的技术是Linux容器(Linux Containers, LXC)技术.容器有效地将由单个操作系统的资源划分到孤立的组中,以便更好地在孤…
在Jerry还在本科进行计算机理论知识学习时,我曾经把软件开发里的质量工程师(Quality Engineer)理解成是每天只是简单地做着运行开发人员编写好的软件,如果发现问题,通知开发人员去修改这种机械的体力活.后来进入SAP后,观察团队里的质量工程师每天做的事情,才知道我当初简直是很傻很天真. 我的两位同事,姚瑶和郑晓霞,之前已经就她们在SAP质量工程师这个岗位上工作的一些体会做了分享: SAP成都研究院姚瑶:软件质量保证工作的变迁 SAP成都研究院郑晓霞:Shift Left Testin…