Teamcat软件工程协作工具

GPL-2.0
python,java,
Linux,windows,mac
陆思远 · 2018年10月23日 · 4840 次阅读 · 2 条评论

TeamCat: 高效的软件项目管理,协作工具

Teamcat 的项目管理包含了任务、提测、Bug 管理,统计分析等功能。支持多成员协作,并且深度集成了持续集成(CI)。Teamcat 支持每日构建,自动化测试,一键部署等功能。 Teamcat 通过任务流功能支持流水线构建发布,正真做到高效的软件过程管理与监控。
Demo 展示地址:www.teamcat.cn

Installation

TeamCat 安装部署部分在 distribute 文件夹中,分为 docker 一键部署与 shell 一键部署两种方式:

docker 一键部署

前提:需要目标机器安装 docker 环境,并且系统要求在 docker_V1.8,CentOS_7 以上

  1. 将 distribute 文件夹拷贝到要部署的目标机器
  2. 进入到 distribute/0.0.1/one_step_build_docker/文件夹中,执行如下命令:
$ docker-compose build
$ docker-compose up

shell 一键部署

  1. 将 distribute 文件夹拷贝到要部署的目标机器
  2. 进入到 distribute/0.0.1/one_step_build_shell/文件夹中,切换到 root 权限
  3. 执行 one_step_setup.sh
$ ./one_step_setup.sh
  1. 若目标机器已安装 mysql,在进行到是否安装 mysql 时,请点击 N,并进入到 mysql 文件夹执行如下命令(${password}为已有 mysql 的密码)
mysql -uroot -p${password}  < doraemon_nirvana.sql
mysql -uroot -p${password}  < privileges.sql

若目标机器无 mysql 环境,点击 Y,在安装完成后执行如下命令:
获取生成的随机密码:

$ grep 'temporary password' /var/log/mysqld.log |awk '{print $NF}'

用获取到的随机密码替换下面 ${mysqlpassword}执行命令:

$ mysql -uroot -p${mysqlpassword}  -e "set global validate_password_policy=0"

$ mysql -uroot -p${mysqlpassword}  -e "set global validate_password_length=6"

$ mysql -uroot -p${mysqlpassword}  -e "ALTER USER 'root'@'localhost' IDENTIFIED BYY '123456'"

进入到 mysql 文件夹执行 ImportSQL.sh 脚本

$ ./ImportSQL.sh

之后进入到 teamcat 文件夹,执行 kill_uwsgi.py 文件杀掉已有进程,执行 teamcat.sh 文件重启 teamcat 服务
```sh
$ ./teamcat.sh


## Quick Start

   安装成功后,输入目标机器地址,端口8848,例如http://127.0.0.1:8488/ 访问teamcat
### 项目
1. 添加首个自己的项目

![](http://teamcat.cn/static/img/Teamcat_program.jpg)

2. 进入到项目就可以使用问题,提测,任务,统计,归档等功能。
### CI:
   CI部分功能使用需要部署Controller与Agent,Controller具有监听、调度、下发任务等功能,Agent负责在所需的不同机器上执行具体构建任务,简要架构如下:

![](http://teamcat.cn/static/img/Teamcat_CI.jpg)

1. 部署步骤:
   将distribute/0.0.1/目录下将agent与conroller的zip包拷贝到目标机器,修改properties文件,将url配置为已成功部署teamcat的url地址。Linux,Mac机器运行.sh文件启动,windows机器运行.bat文件启动。
2. 使用步骤:
   首先进入CI-设置,添加一个Agent。添加一个CI任务,设置好任务配置及构建参数即可实现每日构建,自动化测试,一键部署等功能。并且支持任务流创建,通过任务流功能支持流水线构建发布。

## Q&A
### Question:
如果我想部署的目标机器已经存在mongo,redis,nginx,mysql等基础组建,不想重新安装这些可以直接启动TeamCat服务吗?

### Answer:
当然可以啦,但是首先目标机器需要创建/web/www/目录,并将distribute文件夹下的teamcat文件夹拷贝到此目录,打开settings.py文件,将其中的ALLOWED_HOSTS,MYSQLHOST,MONGOHOST,REDIS_HOST分别配置成已有环境的地址,并且EMAILCONFIG中的邮件服务器必须具有发邮件的权限才能正常发送构建通知邮件。

## More

### 大家如果有更多的问题或改进想法欢迎访问我们的demo地址[www.teamcat.cn](http://www.teamcat.cn),通过里面的联系方式与我们多多沟通交流。

评论列表
Benjamin 发表于 2018年11月16日

1、网站没有 CDN 加速访问慢;
2、http://www.teamcat.cn/support500 错误;。。。。。。,直接访问网站指定链接

陆思远 发表于 2018年10月24日