Teamvision的项目管理包含了任务、提测、Bug管理,统计分析等功能。支持多成员协作,并且深度集成了持续集成(CI)。Teamvision 支持每日构建,自动化测试,一键部署等功能。 Teamvision通过任务流功能支持流水线构建发布,正真做到高效的软件过程管理与监控。 Demo展示地址:www.teamcat.cn
稳定版本在master分支,最新源码在dev分支。
最新稳定版本0.0.6版本已经发布。全新安装可以体验。暂不支持从老版本升级。 0.0.6 更新功能如下:
0.0.5 更新功能如下:
0.0.4 更新功能如下:
0.0.3 更新功能如下:
Teamvision安装部署部分在distribute文件夹中,采用组件分步部署方式:
mongo,redis,nginx,mysql,python 在build_shell文件夹下面已提供各个组件的安装脚本,注:nginx与python3.5必须安装脚本安装,其他供参考。
需py3.5版本,用ditribute/0.0.1/python/python.sh脚本安装。
需3.4版本以上,不能添加密码,安装后能够启动成功,并且在安装teamcat的机器能够访问。
需3.2版本以上,安装后能够启动成功,并且在安装teamcat的机器能够访问。
需1.12.0版本以上,因涉及到nginx.conf文件配置,必须用ditribute/0.0.1/build_shell/nginx/nginx.sh脚本安装。
需5.6,5.7版本,安装后能能够启动成功,确保能够登录,并且在安装teamcat的机器能够访问。 将ditribute/0.0.1/build_shell/mysql 下面的team_vision.sql与privileges.sql导入到mysql。
首先在机器上创建/web/www 目录,将ditribute/0.0.1/build_shell下面的 teamvision与dist 拷贝到/web/www/下面。 打开/web/www/teamvision/teamvision/settings.py,修改配置文件。
将部署的机器地址添加到allow_host,如图所示
将安装的mongo信息添加到mongo配置,如图所示
将安装的redis信息添加到redis配置,如图所示
将安装的mysql信息添加到mysql配置,如图所示
将邮件服务器信息添加到email配置,如图所示
将webhost改成你部署后访问teamcat的地址,例如“http://www.teamcat.cn”
将teamcat.sh脚本加上执行权限,root权限下执行
执行teamvision.sh
$ ./teamvision.sh
安装成功后,输入目标机器地址,端口8848,例如http://127.0.0.1:8848/ 访问teamvision
CI部分功能使用需要部署Controller与Agent,Controller具有监听、调度、下发任务等功能,Agent负责在所需的不同机器上执行具体构建任务,简要架构如下:
部署准备
1.1. 首先进入CI-设置,添加一个Agent。添加完成后,记住AgentID,这个ID就是创建Agent成功以后列表行#号后面的数字。.这个ID需要在启动Agent的时候配置到agent.properties文件里。也就是修改agent.key.
将distribute/0.0.X/目录下将conroller的zip包拷贝到目标机器(要求JDK8)上解压缩。然后修改controller.properties文件。一共两个配置项:
将distribute/0.0.X/目录下的agent.zip 复制到目标目录,解压缩。修改agent.propities文件。
2.使用步骤: 添加一个CI任务,设置好任务配置及构建参数即可实现每日构建,自动化测试,一键部署等功能。具体来看一下怎么配置。 创建任务
任务类型
- 构建任务
- 测试任务
- 部署任务
- 复制任务
创建任务相对简单,具体就不细说了。创建好任务后会看到下图。
点击任务卡片右上角的配置图标进入任务配置页面,如下图。
任务构成。包含以下几部分。
名称 | 功能 | 依赖 |
---|---|---|
SVN | SVN代码管理插件 | 无 |
GIT | 代码管理插件 | 无 |
Shell 命令行 | 执行Shell命令或者批处理 | 无 |
命令行构建 | 命令行构建,并上传构建包 | 无 |
Gradle构建 | Gradle构建插件 | 无 |
IOS构建 | IOS构建插件 | 无 |
Ant构建 | Ant构建插件 | 无 |
SSH文件替换 | 通过SSH替换文件 | 无 |
SSH部署 | 远程通过SSH部署 | 无 |
IOS命令行构建 | 命令行构建IOS包 | 无 |
Copy to Server | 复制产物或其他包到服务器 | 无 |
接口测试 | API接口测试插件 | 需要依赖GAT框架 |
XCode配置检查 | 对XCODE项目做项目配置检查 | 无 |
XCTest测试 | 已经过期 | 无 |
Selenium | WebUI自动化插件 | 依赖GAT |
上述提供的插件在配置完成后,如果暂时不用可以选择Disable,对于Disable的插件在执行过程中将不会被执行。
重点提示: 请在配置完插件后做点击保存。从不同的构建阶段切换时,如果不保存,配置将会丢失
重点提示: 请在配置完插件后做点击保存。从不同的构建阶段切换时,如果不保存,配置将会丢失
重点提示: 请在配置完插件后做点击保存。从不同的构建阶段切换时,如果不保存,配置将会丢失
以上就是如何配置一个简单的任务。接下来说一下CI默认提供的全局变量。大家可以在CI--设置进去就可以看到。
名称 | 用法 | 说明 |
---|---|---|
WORKSPACE | ${WORKSPACE} | 代表当前任务在Agent上的工作目录 |
BUILDTOOL | ${BUILDTOOL} | Agent上的构建工具目录 |
BUILDVERSION | ${BUILDVERSION} | 代表当前任务的构建版本,根据构建次数自增 |
COMMONSPACE | ${COMMONSPACE} | 各构建任务可以共享的一个目录 |
BUILDBACKUPSPACE | ${BUILDBACKUPSPACE} | 根据构建版本自动创建的目录,不会随任务执行清除 |
TASKID | ${TASKID} | 构建任务ID |
TASKNAME | ${TASKNAME} | 构建任务名称 |
HISTORYID | ${HISTORYID} | 构建任务记录ID,使用记录相关API获取上传package下载URL |
全局变量可以用在步骤插件的任意位置使用
看完了全局变量,我们再来说一说Teamvision CI提供的另外一项功能 【构建参数】 点击任务卡片可以进入查看。如下图:
按照提示输入参数组的名称回车即可创建一个构建参数。构建参数包含三个部分。
基本信息: 这部分展示参数局基本信息
参数列表: 这里是用来定义Key-Value形式参数的地方
插件列表: 这个部分可以通过参数化的方式定义任务的执行步骤是否执行 上图我们看到图的右半部分就是基本信息。除了像ID,名称,描述信息之外还有两个信息比较重要,下面做重点介绍。
插件设置: 选中这个设置表示在任务执行过程中,将启用你在插件列表中对于执行步骤的状态定义(on/off)
默认设置: 参数组是否作为默认参数组,在你执行任务时不选中任何参数组时使用。
有了以上的基本介绍,我们来看看参数列表的使用。如下图:
参数列表是以Key-Value形式存在。再使用的时候可以在配置任务时通过${key}的形式使用。例如要使用图上所示的值:${AndroidVersion}就可以了。 重点提示:创建完成参数组以后记得保存。
说完了参数列表,我们在来看看插件列表里有什么。先请看图:
如果你的插件列表里看不到插件或者插件看到的不一样,这是任务配置的时候使用的步骤插件不一样而已。 当我们看到这个列表,我们就可以通过右侧的开关来决定这个插件是否在执行过程中被启用。 重点提示: 如果你改变了插件的活动状态,请记得保存。
最后整体说一下参数组的功能: 参数组其实是把构建用到参数做了一个配置化的操作。把你经常使用的参数按照参数组的形式保存,下次使用时直接选用就可以。同时我们的构建过程有时候需要些特殊场景,例如有些构建产物需要执行单元测试,有些场景不需要。那我们就可以使用不同的参数组来定制,而不是创建两个任务。这时候我们构建参数的插件列表功能就派上用场了,你可以在不同的参数组里定制那些步骤插件会被执行。默认情况下,插件设置(前面在介绍基本信息的时候提到了)是不会打开的,也就是说任务执行时按照你在任务配置界面的配置来执行。只有你在构建参数基本信息页面打开了【插件设置】后,才会生效。
如果我想部署的目标机器已经存在mongo,redis,nginx,mysql等基础组件,不想重新安装这些可以直接启动TeamCat服务吗?
当然可以啦,但是首先目标机器需要创建/web/www/目录,并将distribute文件夹下的teamcat文件夹拷贝到此目录,打开teamcat/doraemon/settings.py文件,将其中的ALLOWED_HOSTS,MYSQLHOST,MONGOHOST,REDIS_HOST分别配置成已有环境的地址,并且EMAILCONFIG中的邮件服务器必须具有发邮件的权限才能正常发送构建通知邮件。如果不想创建此目录,需将settings.py文件中所有配置为/web/www/目录的地方改成teamcat实际所在目录的地址。
如果大家有更多的问题或改进想法,欢迎访问我们的demo地址www.teamcat.cn,通过里面的联系方式与我们多多沟通交流。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
代码活跃度
社区活跃度
团队健康
流行趋势
影响力
:与代码提交频次相关
:与项目和用户的issue、pr互动相关
:与团队成员人数和稳定度相关
:与项目近期受关注度相关
:与项目的star、下载量等社交指标相关