安装Python并搭建Python的虚拟开发环境

安装Python并搭建Python的虚拟开发环境

虽然Python的安装之于开发来说比较简单,但弄清楚Python及其相关工具在各个平台上的安装对于之后的开发,打包都是很有帮助的,正所谓工欲善其事,必先利其器!本文将介绍如何在Mac,Windows,Ubuntu和CentOS中同时安装和设置Python2和Python3,以及利用virtualenv命令创建Python的虚拟开发环境。为什么要Python2和Python3共存?尽管官方已经不支持Python2了,但还是有很多Python2的程序存在,有很多Python2的库没有迁移到Python3,所以在很长的一段时间里是需要Python2和Python3的开发和运行环境共存。

阅读更多
Jenkins构建GitHub合并请求(Pull Request)

Jenkins构建GitHub合并请求(Pull Request)

在我的文章“Git合并请求(pull/merge request)的本质”中已经说明了合并请求(pull/merge request)在代码层面上实际是Git仓库中的一个特殊分支,它指向了私有分支和主分支临时合并后产生的合并提交(merge commit)。如果我们能够在这个合并请求(pull/merge request)被真正合并进主分支之前对它做一次构建,就能尽早发现私有分支上的代码是否有问题,从而将问题拦截在主分支之外,减少主分支上持续交付流水线的失败率。对合并请求(pull/merge request)的构建除了编译代码(必要时可增量编译)和单元测试外,还可以增加更多额外的检查,比如代码的静态扫描。业界把这个放在持续交付流水线之前的检查称为preflight流水线(可参考《Continuous Delivery》这本书第三章67页对preflight构建的详细介绍)。本文将介绍如何配置Jenkins和Github来构建Github合并请求(Pull Request)。

阅读更多
Git合并请求(Pull/Merge request)的本质

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)的本质。

阅读更多
创建容器化的Azure DevOps Agent
什么是GitOps?

什么是GitOps?

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

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

阅读更多