众所周知,Git 是当前最流行的分布式版本控制系统,近两年由于 DevOps 的迅速发展,一切皆代码正在成为标准实践。而这一切,都需要有一个配置管理中心统一管控,Git 毫无疑问的成为了这个领域的宠儿。日常开发工作中,我们经常用不同方式去下载和上传代码到 Gitee,那么这背后是如何实现的呢,让我们一起来聊聊 Git 不同的传输协议以及具体的实现。

在开源理念日渐活跃的今天,越来越多的人开始投身于开源,贡献了越来越多的开源项目。而随着时间的推移,更多的人开始为开源项目添砖加瓦,为某一领域的开源项目贡献出自己的力量。贡献者的增多又给开源作者带来不少审核的压力,实际上投身开源的这些开源作者基本都是业余时间来做,并没有太多的时间投入在开源项目上。本文就为了解决这类场景,介绍下如何在 Gitee 上通过 Jenkins 来为自己的开源项目开启自动化协作,旨在将一些开源相关的工作自动化,留出更多的时间投身开源事业。

说起 PullRequest 相信大部分人都不会陌生,它是由 Github 推出的一种开源协作模式,由于 Gitlab 占据着企业内部私有部署的半壁江山,这种模式也更多的用在企业内部代码审核流程,也就是所谓的 CodeReview。其实还有很多企业和团队会选择 Gerrit 这个工具,Gerrit 提供的是 ChangeRequest 模式,这种模式更具有针对性,对代码审核的粒度也更细,近期有客户需求在 Gitee 上实现类似 ChangeRequest 的需求,所以针对两种模式做一个介绍,探讨两种模式的具体适用场景。

最近看到了一篇文章,细讲了各种分布式调度原理,其中加权轮询算法(Weighted Round-Robin)应该是离我们最近的一种方式了,Nginx 的 Upstream 就是用的这个算法,这个算法可以根据权重使得每个服务器能够均匀的负载请求,本篇主要就是来总结下使用这个算法以及 Go 内置的方法来实现一个简单的加权轮询的 HTTP 负载分发代理,并对负载分发及路由做一些延伸思考。

前面我们介绍了 Jenkins 相关的流水线以及可视化编辑流水线的 BlueOcean 插件,接下来我们主要通过一些实际的应用,来介绍下 Jenkins 在实际工作中的应用,同时也能够避免枯燥乏味的功能介绍,直接切入应用,这样来的比较有成就感。近期也是因为公司工作调整,突然间多了很多事,所以停更了一个月,晚上睡觉想起倍感羞愧,不敢睡觉,于是赶紧补上此篇博客来弥补内心的空缺 ;D

上篇中我们介绍了 Pipeline 的语法,也可以通过 Pipeline Editor 进行编辑,但是这些还不够,Jenkins 团队为了用户更方便的使用流水线,降低用户使用成本以及优化用户使用体验,推出了 BlueOcean,BlueOcean 是以插件的形式存在的,用官方的话说就是重新思考用户体验,它提供了一个更加灵活的流水线编辑器,允许你更加直观的进行流水线的定制,更加直观的观察到每一个步骤甚至每一个任务的运行状况。

9月10号,华为HDC大会如期召开,余承东先生在大会上宣布鸿蒙开源,并公布了以 Gitee 为主托管仓的地址。鸿蒙的开源前期可以说是吊足了国内外开发者的胃口,所以早在2019年红薯老大就开始不断的给我预热鸿蒙开源这件事情可能带来的巨大的访问量,这对于 Gitee 来说,就像是面试7年的一次大考,如果做不好,可能是一次大劫,所以无论是站在中华有为的角度还是以 Gitee 负责人的角度,我压力倍增,无论如何,在可能到来的访问量上,Gitee 需要顶住,当然不是说说,准备工作一定要做足。

从 MRTG 到 ZABBIX 再到 Prometheus & Grafana,技术的变革迭代之快让我无法想象,会想起用 Zabbix 的时候觉得 Zabbix 这东西真的厉害,还专门注册了个域名 Mabbix.com 想要为 Zabbix 做一个手机客户端,不过很快 Prometheus & Grafana 体系就出来了,这里简单介绍下如何自定义 Metrics