Git合并请求(Pull/Merge request)的本质

Git以及基于Git的各代码开发协作平台,比如Github, Gitlab, Bitbucket, TFS Git等正逐渐成为首选的代码版本管理工具,而基于Git的基本开发流程则是开发者创建个人的私有分支并在个人的私有分支上提交代码,代码完成后创建合并请求(pull/merge request)到主分支让相关人员做代码评审,评审通过后将合并请求(pull/merge request)合并到主分支上。合并请求(pull/merge request)不是Git本身的特性,而是各代码协作平台提供的特性,它提供的代码评审功能几乎取代了独立的代码评审工具,同时它也方便了分布于世界各地的开源代码贡献者合并自己的代码。那么合并请求(pull/merge request)到底是什么东西?它看的见摸得着吗?本文将通过目前比较流行的代码开发协作平台(Github, Gitlab, Bitbucket, TFS Git)对合并请求(pull/merget request)的实现来阐明合并请求(pull/merge request)的本质。

阅读更多

什么是GitOps?

[原文] https://www.weave.works/technologies/gitops/

您是否听说过GitOps并且也想知道它到底是什么? 本文,我们将介绍GitOps工作流的原理和模式,以及如何实现它们以便在生产环境中规模化运行Kubernetes。 我们还将描述GitOps与基础架构代码(IAC),配置管理工具之间的差异,当然还将向您展示如何将GitOps最佳实践作为您自己的开发环境的一部分。

阅读更多

Jenkins Job的并发执行

并发,多线程是程序设计领域老生常谈的问题,唯一的目的就是提高程序的执行效率-充分利用资源更快地处理多个计算请求。在持续集成、交付(CI/CD)领域同样存在着并发执行的需求。本文将主要介绍Jenkins Job的并发执行以及相关问题的探讨。

阅读更多

创建自签名TLS/SSL证书和私钥

TLS(Transport Layer Security)-传输层安全协议,及其前身SSL(Secure Sockets Layer)-安全套接层是一种安全协议,在传输层对网络连接进行加密。TLS协议由两层组成:TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面,与具体的应用无关,所以,一般把TLS协议归为传输层安全协议。TLS握手协议使用该层中的公钥和证书来处理对等用户的认证,以及协商算法和加密实际数据传输的私钥。这个过程是在TLS记录协议的顶部执行的。TLS所采用的证书系统可以确保客户端与服务端传输的数据是被加密的,且服务端是被受信任的,但是前提是TLS所采用的证书是由信任的证书颁发机构(CA)颁发的。基于测试或内部使用的目的,本文将介绍如何创建自签名的TLS/SSL证书,如何配置Nginx使用这个自签名证书和私钥,以及如何在Linux, Windows和Mac客户端安装这个证书。需要说明的是自签名证书无法确认服务端是被受信任的。

阅读更多