浅析SonarQube插件的运行原理

最近公司的某个Java项目的SonarQube静态代码扫描出了问题,虽然最终解决了,但是在排查问题的过程中走了一些弯路,多花了点时间。分析下来,主要原因还是对SonarQube插件的运行机制不是很清楚。本文从分析SonarQube扫描的问题出发简单地介绍下SonarQube插件的运行原理。

阅读更多

阿里云通过RAM角色管理多云账号下的资源

云计算经过十几年的发展已经变得很成熟,无论是传统企业还是初创企业都将云计算平台作为其数字化策略的支撑平台。在国内,阿里云是使用最广泛的公有云平台,很多本土企业和外资企业在华的分支机构都是首选阿里云来构建和运行他们的数字化方案。为了能够高效地使用阿里云,同时又能对接阿里云产品服务团队,在这些公司里逐渐地出现了一个新的角色或团队来统一规划、管理阿里云平台,我们就暂且称这个团队为云团队。大部分公司云团队往往需要管理多个阿里云账号,而在不同的账号里的用户创建、登录、登出的操作往往会变的很麻烦。本文介绍通过切换身份的方式扮演RAM角色来管理多云账号下的资源。

阅读更多

Git安装与配置

Git是目前使用最广泛的分布式版本管理系统。相对于集中式代码管理系统,例如Subversion, Perforce等,来说,它有着无法比拟的优势,比如轻量级的分支管理,适合不同场景的分支合并策略,离线状态下的版本管理和变更历史查询等,而这些优势也正好符合了当前敏捷和精益的软件开发方法。本文将介绍如何在Linux,Mac和Windows系统中安装并配置Git。

阅读更多

Git加密存储文件

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

阅读更多

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

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

阅读更多