upsource代码审查
upsource
从零搭建代码审查平台,需要的不仅是把代码审查的工具搭起来,还要结合公司情况制定一系列的代码审查规范。下面是对选择的upsource web端代码审查工具的安装及介绍。详细的请看这篇文档。
1.安装方法
- 1、下载地址
http://www.jetbrains.com/upsource/
- 2、如果是Linux 修改 /etc/security/limits.conf 文件,增加以下命令:
memlock unlimited
nofile 100000
nproc 32768
as unlimited
- 3、配置UpSource
windows: <upsource_home>\bin\upsource.bat configure --listen-port 1111
Linux: <upsource_home>/bin/upsource.sh configure --listen-port 1111
- 4、启动UpSource
windows: <upsource_home>\bin\upsource.bat start
Linux: <upsource_home>/bin/upsource.sh start
- 5、停止UpSource
windows: <upsource_home>\bin\upsource.bat stop
Linux: <upsource_home>/bin/upsource.sh stop
- 6、第一个登录的是管理员账号注册
2.启动配置
其实在公司中,基本是用Linux作为服务器的,下面的内容全都以Linux(我这里是ubuntu)为例子。
重设端口:
./upsource.sh configure --listen-port 8000
重设upsource访问ip地址:
./upsource.sh configure --base-url http://xx.xx.xx.xx:8000
3.创建 code review 工程
1.使用管理员帐户登录到Upsource(非管理员用户帐户没有资格创建新项目),点击创建一个项目。
- 2.General / Code intelligence / Integration / Advanced选择一种项目模板
3.以 General 项目创建为例子:
Project name: 项目名称(自行设定)
Project ID: (自动根据Project name设定,不用管)
Code review ID pattern: (一般默认)
VCS: Git / Subversion / Perforce / Mervurial
Repository URL: 源码的URL- 4.Branches:
+:trunk
+:branches/* - 5.Check interval:反映Upsource检查仓库中新修订的频率(默认情况下每300秒一次)。
(如果提交到您的存储库并不是经常这样做,请考虑将检查间隔设置为更大的值)
- 6.Users: 创建用户组:让Upsource为您创建以下用户组:
- 1.代码的浏览者
- 2.开发者
- 3.项目管理员
(注意或稍后自己创建它们。组是用户的集合,其中每个用户具有相同的权限或角色(权限集))
6.点击 Create Project
至此,一个code review项目创建完成。这里是写的比较简单的,详细的请看这篇文档,此文档是对官网用户手册的中文翻译,当然英语好的可以去官网查看。
4.过程遇到的问题
4.1 服务器IP地址切换后,upsource连接不上
可以通过以下命令来修改upsource的访问ip地址和port端口号
./upsource.sh configure --listen-port port --base-url http://ip:port
4.2 公司SVN服务器使用https访问,需要验证,创建不了SVN code review工程
自己测试的时候是svn://访问方式的,本以为可以了,但是用公司svn路径一测,出现这个错误:
svn: E230001: Server SSL certificate verification failed: certificate issued
出现这个原因:是因为我司svn访问方式是https方式,通过小乌龟svn客户端是可以访问的,还记得当时会弹出一个窗口询问是否接受信任认证。所以通过小乌龟访问是可以自动验证的。但是upsource是web端访问,虽然是自动带https等协议认证的,但是我不能自动安装,然后网上查找了很多,有在svn服务器那边修改的(这个肯定行不通),有在浏览器上点击导出证书,然后一系列的shell命令配置等。以上办法都不能解决我的问题。
解决办法:其实解决办法很简单,不要忽略一个重要的前提,upsource创建svn仓库工程时是连接我们的svn库。因此可以通过先在机器本地svn checkout这个svn仓库出来,在这个过程中会询问是否接受信任认证,选择(p)ermanently 【永久接受信任】,然后输出本机 ubuntu 当前用户密码,回车, svn 用户,回车, svn 用户密码。 svn checkout 之后再去 upsource 就可以创建 svn https 的工程。
4.3 创建SVN code review工程时,+:trunk +:branches/* 填写不对造成创建失败
在创建svn code review 仓库工程时,填写Branches。乍一看,很多人会填写错误。
Use rules like +:<pattern> or -:<pattern> to include or exclude branches. Branch paths are relative to the repository URL specified above. Pattern may contain one * to match any number of characters in directory name.
这里是要求填写你的svn库是否有trunk和branch,
5.小结
此次,负责搭建公司的代码审查平台,从0到1掌握了代码审查的知识,但代码审查之路仍然还有很漫长的路要走,代码审查的习惯并非一朝一日培养好的,需要花时间来沉淀坚持。
upsource代码审查的更多相关文章
- svn+teamcity+YouTrack+Upsource搭建—写给明天工作室的小伙伴
首先解释下概念: SVN:Subversion的简称,版本控制系统.采用集中式管理(本地只保留服务器仓储的副本,想要把代码交到服务器或者看提交记录.差异对比就必须得有网络连接) Teamcity:可持 ...
- 如何使代码审查更高效【摘自InfoQ】
代码审查者在审查代码时有非常多的东西需要关注.一个团队需要明确对于自己的项目哪些点是重要的,并不断在审查中就这些点进行检查. 人工审查代码是十分昂贵的,因此尽可能地使用自动化方式进行审查,如:代码 ...
- centos 6.5 上安装使用upsource
这里应领导的要求,在服务器上装了upsource Upsource的安装和与JetBrains工具的集成 JetBrains的工具一直都是我开发和学习的好帮手,本人工作主要是iOS开发,使用的是App ...
- Upsource——对已签入的代码进行分享、讨论和审查代码
Upsource 一.Upsource简介 Upsource ,这是一个专门为软件开发团队所设计的源代码协作工具.Upsource能够与多种版本控制工具进行集成,包括Git.Mercurial.Sub ...
- 使用stylelint对CSS/Sass做代码审查
对样式审查?很少人会这么做吧,但实际上开发者应该有这样的态度,尤其是不同团队多人开发时,这一点尤为重要. 在本文中,我将陈述两点:一是为什么我们需要对样式进行审查,二是如何将审查工具融合到整体的构建流 ...
- Android APK瘦身之Android Studio Lint (代码审查)
******** ******** 第一部分: 瘦身内容介绍 ******** ******** 项目新版本的迭代接近尾声, 因为历史累积问题, 导致有很多无效的资源让已经臃肿的APK变得更肿, 因此 ...
- 给 C# 开发者的代码审查清单
这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考.这是为了确保在编码过程中,大部分通用编码指导原则都能注意到.对于新手和缺乏经验(0到3年工作经验)的开发者,参考这份清单编码会很帮助 ...
- [转]给 C# 开发者的代码审查清单
这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考.这是为了确保在编码过程中,大部分通用编码指导原则都能注意到.对于新手和缺乏经验(0到3年工作经验)的开发者,参考这份清单编码会很帮助 ...
- Phabricator是什么,代码审查工具
Phabricator是什么? Phabricator支持两种代码审查工作流:"review"(提交前审查)和 "audit"(提交后审查). Phabrica ...
随机推荐
- vue简单路由(二)
在实际项目中我们会碰到多层嵌套的组件组合而成,但是我们如何实现嵌套路由呢?因此我们需要在 VueRouter 的参数中使用 children 配置,这样就可以很好的实现路由嵌套. index.html ...
- sendClond如何更新邮件模板
$url = 'http://www.sendcloud.net/webapi/template.update.json'; $API_USER = ''; $API_KEY = ''; $conte ...
- Python基础—流程控制
一.Python流程控制 计算机程序在解决某个具体问题时,包括三种情形,即顺序执行所有的语句.选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的三种程序执行结构流程:顺序结构.选择结构和循 ...
- docker swarm && compose 示例
docker swarm 创建docker swarm集群 //master节点操作 docker swarm init --advertise-addr materip //node节点操作 -1x ...
- LoadRunner简明教程
LoadRunner是什么 LoadRunner是一个性能测试工具,它最初是Mercury公司的产品,后背HP收购. LoadRunner常用来做什么 l 验证某系统在某环境下是否满足性能需求. l ...
- 常用Xcode文档位置,修改Xcode项目模板地址总结,以及常用地址,随时更新。
Xcode文档 ~/Library/Developer/Shared/Documentation/DocSets or /Applications/Xcode.app/Contents/Develop ...
- JS中的两种刷新方法以及区别和适用范围
在项目中有一个人信息修改的页面,但是修改后显示的却是修改之前的内容,分析问题后发现查询语句写在了修改语句之前,有些某些需要又必须这么写,但是修改信息后先却显示之前的信息也太不科学了. 所以我就想用js ...
- Angular问题04 模块导入错误???、BrowserModule模块重复加载???、material模块引入后报错
1 模块导入错误 1.1 问题描述 项目启动时报错:元数据错误,错误截图如下: 1.2 问题原因 利用VsCode开发angular项目时利用自动导入出现错误 坑01:VsCode 的自动导入功能比较 ...
- linux下方便的录屏命令
linux下方便的录屏命令 ffmpeg -f x11grab -s 1024*768 -r 20 -i :0.0 -sameq ~/recode.mpg -r后是刷新屏率, 推出直接Ctrl ...
- hook NtQueryDirectoryFile实现文件隐藏
一.NtQueryDirectoryFile函数功能(NT系列函数) NtQueryDirectoryFile函数:在一个给定的文件句柄,该函数返回该文件句柄指定目录下的不同文件的各种信息. 根据传入 ...