Git加密存储文件

Git加密存储文件

不要将包含用户名、密码、API令牌(Token)等各类敏感信息放在Git代码仓库中已经成为了大家的共识,尤其是代码仓库托管在GitHub、GitLab、Bitbucket等提供公共代码仓库服务的平台上时,更需要且值得任何的代价去尽量避免这种事情的发生。本文介绍并使用git-secret将文件加密后存储在Git代码仓库中,以及基于git-secret的多人协同工作的流程。

阅读更多
从Git仓库中永久清理脏数据

从Git仓库中永久清理脏数据

在代码开发的过程中,有时会将不该提交的文件误提交到Git仓库中,比如编译产生的临时二进制文件(忘了添加.gitignore),或者包含账号,密码等敏感信息的文件。临时的二进制文件放在Git仓库中没有意义,而且如果频繁改动的话,也会导致Git仓库逐渐变大,而敏感信息会导致信息泄露且不符合信息安全标准。这些不该提交的文件或内容被称为Git仓库的脏数据,需要被清理掉。重新提交一个新的变更来清理这些脏数据是远远不够的,因为从历史版本中仍然能够找到它们。本文将介绍如何使用开源工具BFG Repo-Cleaner从Git仓库的变更历史中永久清除这些脏数据。

阅读更多
Jenkins构建GitLab合并请求(Merge Request)

Jenkins构建GitLab合并请求(Merge Request)

写了两篇这样的文章,我们大概可以总结出Jenkins构建合并请求(Merge Request)的原理:首先,需要在Jenkins上安装一个插件以便提供一个Webhook接口,配置插件连通对应的代码协作平台以便将构建状态写回代码协作平台(并不是所有的插件都提供这个功能);其次,在对应的Git仓库中设置Webhook监听Git事件,比如合并请求(Merge Request)的创建、编辑等。当有监听的事件发生时,Webhook触发Jenkins的Webhook接口,Webhook接口解析请求数据,创建一些有用的环境变量,比如合并请求(Merge Request)ID,合并请求(Merge Request)的原分支和目标分支等,并触发对应的Jenkins pipeline;最后,创建一个Jenkins pipeline(目前主要是Pipeline2.0的Jenkinsfile),设置被触发的条件和如何克隆对应的代码,以及实际的构建逻辑。接前面的系列,本文将继续介绍如何配置Jenkins和GitLab来构建GitLab合并请求(Merge Request)。

阅读更多
Jenkins构建Bitbucket合并请求(Pull Request)
命令方式设置Windows Server网络代理

命令方式设置Windows Server网络代理

在公司里的服务器往往需要配置网络代理才能访问外网,不同的操作系统设置代理的方式也不同,同一个操作系统在图形化和非图形化下的设置方式也不同。本文将详细介绍如何用命令的方式来设置Windows Server的网络代理,这种方式非常适合于非图形化的Windows Server Core的网络代理的设置,对图形化的Windows Server也同样适用。

阅读更多