没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Gitlab+P3C-PMD(Aliyun)标准化你团队的代码
1.背景简介:
项目越来越大,团队越来越大,代码越来越来多,然后就是各种五花八门的代码格式、代码
规范。要做到代码规范我们可以采取代码交叉检视、IDEA/Eclipse 安装插件自检、以及代码
管理服务端做校验,且不说各种方法的利弊,本文直接采用服务端做校验(Gitlab)。
2.服务端 gitlab 校验原理简要说明:
利用 gitlab 的 (钩子)hooks 机制,关于钩子有客户端、服务端的,本文仅描述服务端的钩子,
更多关于钩子的资料参考:
https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-
Git-%E9%92%A9%E5%AD%90。
gitlab 服务端会有三个主要钩子:pre-receive(处理客户端 push 动作时最先被调用的脚本,
以非 0 值退出拒绝 Push,可以用来做注释标准化、代码标准化等)、update(与 pre-receive
功能类似,为每个准备更新的分之各运行一次)、post-receive(是在 push 之后执行的脚本,
可以用来调用后续的持续集成、发邮件通知等)。
而本文的用到的做代码规则校验的就是 pre-receive 的钩子,通过此钩子执行 java –cp 命令
调用 aliyun p3c-pmd 的规则校验,然后检查如不符合规范返回错误信息到客户端(idea,git
bash 等)。
3. P3C-PMD
P3c 阿里云的插件,github 地址:https://github.com/alibaba/p3c
此处我们用到 p3c-pmd 插件,需要打包成 jar 文件,以便 gitlab 服务端使用。主要是受:
https://www.jianshu.com/p/b87ca8615c9c 博文启发,结合该博文以及已经躺过的一些坑整
理成一份新的文档
3.1 打包 p3c-pmd,
使用最新 2.0.0 版本,Windows 环境构建
3.1.1 准备 gradle 环境和 git 环境(可选),请自行百度安装 gradle 文档
3.1.2 github 下载源码:git clone https://github.com/alibaba/p3c.git 或者直接到 github 上
download zip 文件
3.1.3 进入 p3c-pmd 目录:
3.1.4 执行 gradle init
3.1.4 编辑 build.gradle 文件
在文件末尾添加:
jar {
from {
// 添加依懒到打包文件
configurations.runtime.collect{zipTree(it)}
}
}
如下图所示:
3.1.5 开始构建 gradle
执行 gradle.bat build
构建成功后会在 build\libs 生成 p3c-pmd-2.0.0.jar 文件
3.1.6 修改 p3c-pmd-2.0.0.jar 中 META-INFO 文件内容
1).用压缩文件打开.jar 文件:
剩余14页未读,继续阅读
资源评论
张景淇
- 粉丝: 39
- 资源: 276
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功