你是否清楚的了解本身的项目有多少个文件夹、多少个文件、多少行代码、多少个函数、多少个字符数?
你是否在项目中引入过代码质量检测相关的工具?
你是否在不一样项目的切换中饱受indent=2
仍是indent=4
的困扰?
你是否怀疑过本身的代码存在性能问题和内存泄露?
赶快和我一块儿来学习如何搭建一套持续集成的代码质量检测平台,为平常项目开发“保驾护航”吧~node
merge request
都须要相关同事完成code review以后才能够 merge 代码,这更是增长大量的人力成本。对于在平常开发中遇到的这些问题,咱们指望能有这样一套系统,它可以帮助咱们解决如下问题:linux
项目主要经过提交 Merge Request 触发 git hook,该请求发送merge相关数据至中间层 Node Server,Node 层将请求透传到 Jenkins Server, Jenkins Server 启动Job并执行相关检测脚本,任务完成callback
通知 Node Server 和 git 仓库完成相关‘解锁’步骤。git
而在该项目中,咱们使用的技术栈包括:web
这篇文章定位是项目总体介绍,故而不涉及具体实现细节,后续咱们会有系列文章和你们一块儿分享功能实现中遇到的问题。npm
import os
import sys
gitRemote = 'ssh://git@***********.com/litmus.git'
# 拉取代码仓库, 切换cwd为脚本目录
if os.path.isdir('litmus'):
os.chdir('litmus')
os.system('git fetch origin && git reset --hard origin/master')
else:
os.system('git clone %s --depth=1' % gitRemote)
os.chdir('litmus')
# 安装依赖,执行入口文件
os.system('npm install')
sys.path.append('entry')
import web
result = web.main(None, None)复制代码
咱们的脚本执行结果都是以文件的形式产出,而这套文件产出结果将会成为咱们提供web页面展现的原始数据输入。编程
2016 年 10 月 25 日,zeit.co 背后的团队对外发布了 Next.js,一个 React 的服务端渲染应用框架。几小时后,与 Next.js 殊途同归,一个基于 Vue.js 的服务端渲染应用框架应运而生,咱们称之为:Nuxt.js。bash
本文主要讲解“代码质量检测平台”项目从需求收集、提取、架构设计以及最终的实现。
这套架构体系对咱们的开发者提出了较高的要求,在业务项目接入中,咱们遇到了不少困难:架构
想要更多的了解咱们是如何解决这些难题的, 请点击下方“❤️”,并关注咱们吧。
咱们会有系列文章来和你们一块儿分享咱们与「代码质量检测平台」的故事。app
做者简介: J文,15年加入「美团点评」,目前就任于 点评点餐终端团队,咱们期待您与咱们一块儿打造将来的“智能餐厅”。框架