We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
背景:用户A希望在现有GOCD流水线中加一个审核节点,引入SQLE的审核能力,对变更脚本中的SQL做审核,拦截不合规的SQL
权限 用户需要对本项目数据源有配置流水线的权限才能够为本项目的数据源配置流水线 需求:1 在项目中 2 拥有配置流水线权限(细粒度:数据源)
创建与更新流水线 用户可以创建和更新流水线,在流水线中创建和更新流水线节点,流水线节点可以改变顺序
配置流水线 用户创建好流水线节点后,可以复制scannerd的启动命令,以配置流水线
数据表设计 目前将流水线和流水线节点分为两张表,一条流水线对应多个节点,业务上一个流水线节点对应一个启动命令
type Pipeline struct { Model ProjectUid ProjectUID `gorm:"index; not null" json:"project_uid"` // 关联的流水线ID Name string `gorm:"type:varchar(255);not null" json:"name"` // 流水线名称 Description string `gorm:"type:varchar(512)" json:"description"` // 流水线描述 Address string `gorm:"type:varchar(255)" json:"address"` // 关联流水线地址 } type PipelineNode struct { gorm.Model PipelineID uint `gorm:"type:bigint;not null;index" json:"pipeline_id"` // 关联的流水线ID UUID string `gorm:"type:varchar(255);not null" json:"uuid"` // 节点uuid Name string `gorm:"type:varchar(255);not null" json:"name"` // 节点名称 NodeType string `gorm:"type:varchar(20);not null" json:"node_type"` // 节点类型 NodeVersion string `gorm:"type:varchar(255)" json:"node_version"` // 节点版本 InstanceName string `gorm:"type:varchar(255)" json:"instance_name,omitempty"` // 数据源名称,在线审核时必填 InstanceType string `gorm:"type:varchar(255)" json:"instance_type,omitempty"` // 数据源类型,离线审核时必填 ObjectPath string `gorm:"type:varchar(512);not null" json:"object_path"` // 审核脚本路径 ObjectType string `gorm:"type:varchar(20);not null" json:"object_type"` // 审核对象类型 AuditMethod string `gorm:"type:varchar(20);not null" json:"audit_method"` // 审核方式 RuleTemplateName string `gorm:"type:varchar(255);not null" json:"rule_template_name"` // 审核规则模板 Token string `gorm:"type:varchar(512);not null" json:"token"` // token }
节点更新的逻辑有以下功能需求
节点更新时,遵循以下逻辑
版本 ↓ +-------+-------+-------+-------+ | | node1 | node2 | node3 | <- 节点名称 +-------+-------+-------+-------+ | | uuid1 | uuid2 | uuid3 | <- 此列不展示 +-------+-------+-------+-------+ | uv1 | n1-v1 | n2-v1 | | +-------+-------+-------+-------+ | uv2 | n1-v1 | n2-v2 | | +-------+-------+-------+-------+ | uv3 | n1-v3 | n2-v2 | | +-------+-------+-------+-------+ | uv4 | n1-v3 | n2-v2 | n3-v4 | +-------+-------+-------+-------+
由于增加了权限,需要在数据库中将dms_config表的更新权限位置为一,然后重启dms,SQLE将会将新的权限配置项载入,
update dms.dms_configs set need_init_op_permissions=1 where uid=700100;
systemctl restart dms
新功能,不影响其他功能
The text was updated successfully, but these errors were encountered:
sqle-ee: f3cd4d139dfa7b2732ec769faca027ff4dd6d9ea dms-ee:0e70effea26c4e6472653eb32764fb24ed390615
新增权限
user1没有流水线权限
创建流水线节点时无法看到数据源,符合预期
配置流水线 添加审核xml文件的节点
获取节点对接说明 jenkins配置scanner命令
jenkins构建触发审核
审核结果
添加审核sql文件的节点
获取节点对接说明
流水线触发审核
Sorry, something went wrong.
winfredLIN
No branches or pull requests
需求描述(Describe)
背景:用户A希望在现有GOCD流水线中加一个审核节点,引入SQLE的审核能力,对变更脚本中的SQL做审核,拦截不合规的SQL
实现方案
用户使用
权限
用户需要对本项目数据源有配置流水线的权限才能够为本项目的数据源配置流水线
需求:1 在项目中 2 拥有配置流水线权限(细粒度:数据源)
创建与更新流水线
用户可以创建和更新流水线,在流水线中创建和更新流水线节点,流水线节点可以改变顺序
配置流水线
用户创建好流水线节点后,可以复制scannerd的启动命令,以配置流水线
方案实现
数据表设计
目前将流水线和流水线节点分为两张表,一条流水线对应多个节点,业务上一个流水线节点对应一个启动命令
流水线节点更新逻辑
节点更新的逻辑有以下功能需求
节点更新时,遵循以下逻辑
*在界面上的表示形态如下图所示:
升级方案
由于增加了权限,需要在数据库中将dms_config表的更新权限位置为一,然后重启dms,SQLE将会将新的权限配置项载入,
变更影响面
新功能,不影响其他功能
受影响的模块或功能
外部引用的潜在问题或风险
版本兼容性
测试建议
The text was updated successfully, but these errors were encountered: