SMB工程可以通过git或svn等工具进行管理。除此外,SMB也提供了云代码管理功能。实际效果如图:
一、准备工作
1、代码管理相关的表结构
以下是云代码管理表结构,在mysql中运行。
-- Create syntax for TABLE 'sc_flow'
CREATE TABLE `sc_flow` (`flowID` int(11) unsigned NOT NULL AUTO_INCREMENT,`flowName` varchar(100) DEFAULT NULL,`projectID` int(11) DEFAULT NULL,`author` varchar(100) DEFAULT NULL,`lastUpdateUserName` varchar(100) DEFAULT NULL,`checkUserName` varchar(100) DEFAULT NULL,`version` varchar(100) DEFAULT NULL,`create_time` datetime DEFAULT CURRENT_TIMESTAMP,`update_time` datetime DEFAULT NULL,PRIMARY KEY (`flowID`)
) ENGINE=InnoDB AUTO_INCREMENT=109 DEFAULT CHARSET=utf8;-- Create syntax for TABLE 'sc_flowCode'
CREATE TABLE `sc_flowCode` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`flowID` int(11) DEFAULT NULL,`fileName` varchar(100) DEFAULT NULL,`content` mediumtext,`length` bigint(20) DEFAULT NULL,`create_time` datetime DEFAULT CURRENT_TIMESTAMP,`update_time` datetime DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=445 DEFAULT CHARSET=utf8mb4;-- Create syntax for TABLE 'sc_flowCode_bak'
CREATE TABLE `sc_flowCode_bak` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(100) DEFAULT NULL,`flowID` int(11) DEFAULT NULL,`fileName` varchar(100) DEFAULT NULL,`content` mediumtext,`length` bigint(20) DEFAULT NULL,`create_time` datetime DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8mb4;-- Create syntax for TABLE 'sc_log'
CREATE TABLE `sc_log` (`id` bigint(11) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(100) DEFAULT NULL,`action` varchar(100) DEFAULT NULL,`projectName` varchar(100) DEFAULT NULL,`flowName` varchar(100) DEFAULT NULL,`create_time` datetime DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;-- Create syntax for TABLE 'sc_project'
CREATE TABLE `sc_project` (`projectID` int(11) unsigned NOT NULL AUTO_INCREMENT,`projectName` varchar(100) DEFAULT NULL,`author` varchar(100) DEFAULT NULL,`lastUpdateUserName` varchar(100) DEFAULT NULL,`checkUserName` varchar(100) DEFAULT NULL,`describes` varchar(200) DEFAULT NULL,`projectFileName` varchar(200) DEFAULT NULL,`content` mediumtext,`length` bigint(20) DEFAULT NULL,`create_time` datetime DEFAULT CURRENT_TIMESTAMP,`update_time` datetime DEFAULT NULL,PRIMARY KEY (`projectID`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4;-- Create syntax for TABLE 'sc_project_bak'
CREATE TABLE `sc_project_bak` (`projectID` int(20) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(100) DEFAULT NULL,`projectName` varchar(100) DEFAULT NULL,`author` varchar(100) DEFAULT NULL,`projectFileName` varchar(200) DEFAULT NULL,`content` mediumtext,`length` bigint(20) DEFAULT NULL,`create_time` datetime DEFAULT NULL,PRIMARY KEY (`projectID`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4;-- Create syntax for TABLE 'sc_user'
CREATE TABLE `sc_user` (`userID` int(11) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(100) DEFAULT NULL,`cnname` varchar(100) DEFAULT NULL,`password` varchar(100) DEFAULT NULL,`create_time` datetime DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`userID`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4;-- Create syntax for TABLE 'sc_user_project'
CREATE TABLE `sc_user_project` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(100) DEFAULT NULL,`projectID` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=utf8mb4;
其中关键表:
sc_user 用户名、sc_user_project 用户与项目关系表,需要在表里配置,或者做后台系统来管理。
2、需要下载和运行代码管理服务,地址:https://download.csdn.net/download/lllllllllluoyi/88938584
下载后需要在manageFlow.json中修改数据库配置(url、user、password):
配置完成后运行startup.bat启动代码管理服务。
二、登录到云代码管理
首先点击打开云代码管理:
输入Server Url地址,这个地址就是我们代码管理服务运行后的地址。
再点击Login进行登录。登录用户来自于sc_user表:
三、提交工程到云代码
1、新建工程
点击New Project,弹出新工程窗口:
Project Name根据实际情况填写;
Project Path是指工程目录,通过open选择路径;
点击OK即可。
2、设置工程目录
如果是自己上传项目,则与上面的Project Path是同一个目录。如果是下载别人项目,则要选择在本地的存放目录。
3、Check Out
自己要修改代码或提交本地的消息流和代码,则要先进行Check Out,使自己独占。
4、Commit
点击工程管理界面的Open打开项目,右键消息流,通过Commit菜单进行提交即可。
四、从云代码中下载工程
如果下载别人修改后的工程,通过Get Last Version获取最新代码。
如果获取某个Java计算组件的逻辑,则在下一步界面中获取:
总结:这个功能是个可选项,适合5人以内小团队使用。