模块

项目管理模块

project/check
查询项目名称是否占用

project/list
列出所有项目列表

project/detail
列出指定项目详情

project/add
添加项目

project/ssoAdd
添加项目(需登录权限)

project/update
更新项目信息

project/ssoUpdate
更新项目信息(需登录权限)

project/delete
删除项目

project/ssoDelete
删除项目(需登录权限)

用户管理模块

user/list
列出所有用户列表

user/detail
列出指定用户详情

user/add
添加用户(不建议直接调用,SSO中间件会自动添加)

user/update
更新用户信息(不建议直接调用)

user/delete
删除用户

成员管理模块(暂未使用)

member/list

member/add

member/update

member/delete

配置管理模块(已经弃用)

config/list

config/detail

config/add

config/update

config/delete

部署管理模块

deploy/check
查询部署方式名称是否占用

deploy/list
列出所有部署方式列表

deploy/detail
列出指定部署方式详情

deploy/add
添加部署方式

deploy/ssoAdd
添加部署方式(需登录权限)

deploy/update
更新部署方式

deploy/ssoUpdate
更新部署方式(需登录权限)

deploy/delete
删除部署方式

deploy/ssoDelete
删除部署方式(需登录权限)

容器管理模块

docker/list
列出所有容器列表

docker/show
列出指定容器详情(已经弃用)

docker/detail
列出指定容器详情

docker/add
添加容器(不建议直接调用,部署测试环境时会自动创建环境并写入容器信息)

docker/check
检查容器名称是否占用

docker/delete
删除容器

docker/ssoDelete
删除容器(需登录权限)

环境管理模块

env/list
列出测试环境列表

env/detail
列出指定测试环境详情

env/update
更新测试环境信息

env/add
添加测试环境(不建议直接调用,部署测试环境时会自动创建环境并写入环境信息)

env/check
检查测试环境名称是否占用

env/delete
删除测试环境

env/ssoDelete
删除测试环境(需登录权限)

测试用例管理模块

case/check
检查测试用例名称是否存在

case/list
列出测试用例列表

case/detail
列出指定测试用例详情

case/add
添加测试用例

case/ssoAdd
添加测试用例(需登录权限)

case/update
更新测试用例

case/ssoUpdate
更新测试用例(需登录权限)

case/delete
删除测试用例

case/ssoDelete
删除测试用例(需登录权限)

测试任务管理模块

test/check
检查测试任务名称是否存在

test/list
列出测试任务列表

test/detail
列出指定测试任务详情

test/add
添加测试任务

test/ssoAdd
添加测试任务(需登录权限)

test/update
更新测试任务

test/ssoUpdate
更新测试任务(需登录权限)

test/run
部署测试环境

test/ssoRun
部署测试环境(需登录权限)

test/rerun
重建测试环境

test/ssoRerun
重建测试环境(需登录权限)

test/build
运行测试构建

test/ssoBuild
运行测试构建(需登录权限)

test/delete
删除测试任务

test/ssoDelete
删除测试任务(需登录权限)

test/showConf
列出测试任务配置文件

test/setConf
设置测试任务配置文件

test/getLog
获取当前任务环境部署进度

test/getScheduleTest
获取定时任务列表

通用模块

common/getCodeBranch
获取被测服务分支

common/getCaseBranch
获取测试代码分支

common/getResourceByDatetime
根据时间获取资源信息

common/getResourceByTimestamp
根据时间戳获取资源信息

common/ssoUser
获取当前用户登陆信息(需登录权限)

common/ssoLogin
登陆

common/staffOrgs
获取组织架构

common/staffUsers
获取组织架构下的用户列表

统计模块

statistics/kpi
获取平台总体用量信息

statistics/logList
列出操作记录列表

statistics/logDetail
列出操作记录详情

statistics/myKpi
获取当前用户的用量信息(需登录权限)

statistics/myLog
列出当前用户的操作记录列表(需登录权限)

class TableUser(models.Model):
user_id = models.AutoField(primary_key=True)
user_name = models.CharField(max_length=128)
user_name_zh = models.CharField(max_length=128, default='N/A')
user_email = models.CharField(max_length=64, blank=True)
user_group = models.IntegerField(default=0) # 0:User, 1:Admin
user_business = models.CharField(max_length=32, blank=True)
user_create_time = models.DateTimeField(auto_now_add=True)
user_update_time = models.DateTimeField(auto_now=True)

class TableProject(models.Model):
project_id = models.AutoField(primary_key=True)
project_name = models.CharField(max_length=128, unique=True)
project_desc = models.CharField(max_length=128, blank=True)
project_owner = models.ForeignKey(TableUser, on_delete=models.PROTECT, db_column='user_id', verbose_name='user_id')
project_code_git = models.CharField(max_length=256)
project_case_git = models.CharField(max_length=256)
project_node_tag = models.CharField(max_length=32)
project_create_time = models.DateTimeField(auto_now_add=True)
project_update_time = models.DateTimeField(auto_now=True)
project_has_env = models.IntegerField(default=1)
project_has_case = models.IntegerField(default=1)

class TableDeploy(models.Model):
deploy_id = models.AutoField(primary_key=True)
project_id = models.ForeignKey(TableProject, on_delete=models.PROTECT, db_column='project_id')
user_id = models.ForeignKey(TableUser, on_delete=models.PROTECT, db_column='user_id')
deploy_name = models.CharField(max_length=128, unique=True)
deploy_desc = models.TextField(max_length=1024)
deploy_num = models.IntegerField(default=1)
deploy_image = models.TextField(max_length=1024)
deploy_cmd = models.TextField(max_length=1024)
deploy_create_time = models.DateTimeField(auto_now_add=True)
deploy_update_time = models.DateTimeField(auto_now=True)

class TableEnv(models.Model):
env_id = models.AutoField(primary_key=True)
project_id = models.ForeignKey(TableProject, on_delete=models.PROTECT, db_column='project_id')
user_id = models.ForeignKey(TableUser, on_delete=models.PROTECT, db_column='user_id')
deploy_id = models.ForeignKey(TableDeploy, on_delete=models.PROTECT, db_column='deploy_id')
env_commit_id = models.CharField(max_length=64, blank=True)
env_name = models.CharField(max_length=128, unique=True)
env_detail = models.TextField(max_length=1024)
env_docker = models.TextField(max_length=1024)
env_status = models.IntegerField(default=0)
env_create_time = models.DateTimeField(auto_now_add=True)
env_update_time = models.DateTimeField(auto_now=True)

class TableDocker(models.Model):
docker_id = models.AutoField(primary_key=True)
project_id = models.ForeignKey(TableProject, on_delete=models.PROTECT, db_column='project_id')
user_id = models.ForeignKey(TableUser, on_delete=models.PROTECT, db_column='user_id')
docker_name = models.CharField(max_length=128, unique=True)
docker_ip = models.CharField(max_length=64, blank=True)
docker_status = models.IntegerField(default=0) # 0:Down, 1:Up
docker_detail = models.TextField(max_length=1024, blank=True)
docker_env = models.IntegerField(default=0)
docker_create_time = models.DateTimeField(auto_now_add=True)
docker_update_time = models.DateTimeField(auto_now=True)

class TableCase(models.Model):
case_id = models.AutoField(primary_key=True)
project_id = models.ForeignKey(TableProject, on_delete=models.PROTECT, db_column='project_id')
user_id = models.ForeignKey(TableUser, on_delete=models.PROTECT, db_column='user_id')
case_name = models.CharField(max_length=128, unique=True)
case_desc = models.CharField(max_length=256, blank=True)
case_config = models.CharField(max_length=4096, blank=True)
case_jenkins_reports = models.CharField(max_length=256, blank=True)
case_public = models.IntegerField(default=0) # 0:Private, 1:Public
case_create_time = models.DateTimeField(auto_now_add=True)
case_update_time = models.DateTimeField(auto_now=True)

class TableTest(models.Model):
test_id = models.AutoField(primary_key=True)
project_id = models.ForeignKey(TableProject, on_delete=models.PROTECT, db_column='project_id')
user_id = models.ForeignKey(TableUser, on_delete=models.PROTECT, db_column='user_id')
test_name = models.CharField(max_length=128, unique=True)
test_desc = models.CharField(max_length=256, blank=True)
case_id = models.ForeignKey(TableCase, on_delete=models.PROTECT, db_column='case_id')
deploy_id = models.ForeignKey(TableDeploy, on_delete=models.PROTECT, db_column='deploy_id')
test_deploy_param = models.CharField(max_length=128, blank=True)
test_deploy_conf = models.IntegerField(default=0)
test_need_env = models.IntegerField(default=1)
env_id = models.IntegerField(default=0) # 0: No env
env_status = models.IntegerField(default=0) # 0: done, 1: processing
test_status = models.IntegerField(default=0) # 0: done, 1: processing,2:部署失败 3:已部署
test_code_branch = models.CharField(max_length=128, default='master')
test_case_branch = models.CharField(max_length=128, default='master')
test_type = models.IntegerField(default=0) # 0:Manual, 1:Schedule, 2:Web Hook
test_jenkins = models.IntegerField(default=0) # 0: No Jenkins Job, 1: Has Jenkins Job
test_recipients = models.CharField(max_length=256, blank=True)
test_cron = models.CharField(max_length=32, blank=True)
test_create_time = models.DateTimeField(auto_now_add=True)
test_update_time = models.DateTimeField(auto_now=True)

class TableLog(models.Model):
log_id = models.AutoField(primary_key=True)
log_project = models.IntegerField()
log_test = models.IntegerField(blank=True)
log_user = models.CharField(max_length=32)
log_action = models.CharField(max_length=32)
log_detail = models.CharField(max_length=4096, blank=True)
log_status = models.IntegerField() # 0:Success, -1:Failed
log_time = models.DateTimeField(auto_now_add=True)

全部评论

相关推荐

03-26 22:27
已编辑
中南大学 Java
点赞 评论 收藏
分享
会飞的猿:我看你想进大厂,我给你总结一下学习路线吧,java语言方面常规八股要熟,那些java的集合,重点背hashmap八股吧,jvm类加载机制,运行时分区,垃圾回收算法,垃圾回收器CMS、G1这些,各种乐观锁悲观锁,线程安全,threadlocal这些。在进阶一些的比如jvm参数,内存溢出泄漏排查,jvm调优。我这里说的只是冰山一角,详细八股可以去网上找,这不用去买,都免费资源。mysql、redis可以去看小林coding,我看你简历上写了,你一定要熟,什么底层b+树、索引结构、innodb、mvcc、undo log、redo log、行级锁表级锁,这些东西高频出现,如果面试官问我这些我都能笑出来。消息队列rabbitmq也好kafka也好,学一种就行,什么分区啊副本啊确认机制啊怎么保证不重复消费、怎么保证消息不丢失这些基本的一定要会,进阶一点的比如LEO、高水位线、kafka和rocketmq底层零拷贝的区别等等。计算机网络和操作系统既然你是科班应该理解起来问题不大,去看小林coding这两块吧,深度够了。spring boot的八股好好看看吧,一般字节腾讯不这么问,其他的java大厂挺爱问的,什么循环依赖啥的去网上看看。数据结构的话科班应该问题不大,多去力扣集中突击刷题吧。项目的话其实说白了还是结合八股来,想一想你写的这些技术会给你挖什么坑。除此之外,还有场景题、rpc、设计模式、linux命令、ddd等。不会的就别往简历上写了,虽然技术栈很多的话好看些,但背起来确实累。总结一下,多去实习吧,多跳槽,直到跳到一个不错的中厂做跳板,这是一条可行的进大厂的路线。另外,只想找个小厂的工作的话,没必要全都照这些准备,太累了,重点放在框架的使用和一些基础八股吧。大致路线就这样,没啥太多难度,就是量大,你能达到什么高度取决于你对自己多狠,祝好。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务