NCC项目搭建及版本管理规范手册
1. 项目工程要求
- NCC项目搭建严格要求一个项目前后端各只有一个项目。
- 新项目首次开发时,由项目开发人员创建新工程,并且联系管理员创建gitlab项目进行关联。
- 项目二次合同开发时,由项目开发人员在gitlab下载已有的项目工程,并在已有项目上进行开发。
- 项目开发过程中,至少每天至少向gitlab推送一次进度防止代码丢失,每次推送时标明更新内容。
2. Web开发环境搭建
2.1 首次搭建项目工程
- 在git命令行中使用以下命令在平台下载前台脚手架。
git clone http://git.yonyou.com/nc-pub/ncpub-multipage-demo.git
- 取平台包 ${nchome}\hotwebs\nccloud\resources下的platform、lappreportrt、uap、uapbd 放入 src/ 下。
2.2 当前项目已存在项目工程
- 在git命令行中使用以下命令从gitlab上下载已存在的项目工程。
git clone 你要clone项目的http连接
2.3 项目配置
- 将 ${nchome}\hotwebs\nccloud\WEB-INF\config\miscellaneous.xml 中全部改为false,否则前端启动后会报不能解析JSON的错误提示。
- 在 src 下建立自己的轻应用的目录,具体目录结构建议参照样例代码,命名规则是 mobile_appName(appName 是轻应用的名称)。
- 修改根目录下的 config.json 的 buildEntryPath,配置轻应用的启动入口如:["./src/reva_demo/module/mobile_appName/*/index.js"]。
- 修改根目录下的 config.json 的 proxy 属性配置开发模式的反向代理服务器地址如 “http://127.0.0.1:80”。
{ "buildEntryPath": [ "./src/cmp/settlementmanagement/settlement/*/index.js", "./src/arap/refer/pub/CustCrossGridRef/index.js" ], "proxy": "http://127.0.0.1:80/", }
- 第一次启动工程之前,在VSCode中点击Ctrl + ~打开终端命令行,执行一下命令安装依赖。
安装完成后,会在项目中出现node_modules目录。如下所示npm install
- 启动工程,在终端中输入一下命令即可进行开发调试。
当终端中显示 Compiled successfully 则启动成功,并且会在默认浏览器打开NCCloud登录页面。npm run dev
在终端中点击Ctrl + C即可停止服务。 - 开发完成后,使用一下命令打包,补丁会生成在当前项目的dist目录下
npm run build
- 将补丁复制到服务器home\hotwebs\nccloud\resources对应的模块中,不需要重启,刷新即可看到效果
2.4 教程:
- 项目开发过程中,遇到问题可以在nc-pub / public-document中查看解决。
- 入门教程: 认识 React
- 重新介绍 JavaScript(JS 教程)
- iuap design 钉耙tinper企业级大前端基础设施平台
3. Web版本管理
3.1 Git教程
3.2 推送项目至gitlab
- 首先需要安装本地需要安装git
- 使用管理员权限账号在gitlab上创建项目
- 打开项目源代码所在文件夹,配置.gitignore文件过滤不需要的文件,例如dist,node_modules等
- 鼠标右键打开git bash here:
- 配置用户名
git config --global user.name "你的用户名"
- 配置用户邮箱
git config --global user.email "你的邮箱"
- 初始化项目
git init
- 关联gitlab
git remote add origin 你刚才建立的项目连接
- 添加更改文件
git add .
- 提交更改
git commit -m "init project"
- 特别提醒: 此行是在本地设置缓存, 有些项目文件较大, 使用http无法上传,可设置此命令
git config http.postBuffer 524288000
- 将代码推送到gitlab端
git push -u origin master
- 配置用户名
- 在gitlab刷新项目页面就可以看到右侧导航栏多出的Files选项,点击进去就能在线看到项目代码了
- gitlab代码已更新,获取更改到本地
git pull origin master
3.3 从gitlab拉取项目到本地
- 在文件夹鼠标右键打开git bash here:
- 下载项目
git clone 你要clone项目的http连接
- 如果使用http连接下载不成功:
- 配置gitlab的ssh密钥:
- 在git bash中生成密钥
然后一路回车,全部使用默认ssh-keygen -t rsa -C 'xxx@xxx.com' //(-C 参数是你的邮箱地址)
- 查看密钥
cat ~/.ssh/id_rsa.pub
- 在gitlab的ssh keys中配置ssh密钥
- 在git bash中生成密钥
- 下载项目
git clone 你要clone项目的git连接
- 配置gitlab的ssh密钥:
4. 后端环境搭建
4.1 环境准备
- 使用eclipse-ncc配置ncchome,过程与nc65环境搭建一致。
- 如果没有eclipse-ncc,可到用友云盘下载
http://pan.yonyou.com/s/2V1rUcDXQQo 密码:hfqs 过期时间:2030-02-18
- 如果没有eclipse-ncc,可到用友云盘下载
- 因为要编译nccloud的web后端代码,需要将将deploy.bat和tool.jar复制到ncchome根目录,执行deploy.bat。
- 没有这个工具的可到用友云盘下载
http://pan.yonyou.com/s/FIHlPYfuRaw 密码:q2zu 过期时间:2030-02-15
- 没有这个工具的可到用友云盘下载
- 创建项目,通Web项目相同,新项目需要开发人员新创建项目工程,已有工程的项目需要开发人员从gitlab上下载已有的项目工程。
- 修改UAP中间件启动参数。
-Dnc.exclude.modules=${FIELD_EX_MODULES} -Dnc.runMode=develop -Dnc.server.location=${FIELD_NC_HOME} -DEJBConfigDir=${FIELD_NC_HOME}/ejbXMLs -DExtServiceConfigDir=${FIELD_NC_HOME}/ejbXMLs -Duap.hotwebs=nccloud,iuapmdm_fr,uapws -Duap.disable.codescan=false -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl -Xms128M -Xmx512M -XX:NewSize=96M -XX:MaxPermSize=256M -Dorg.owasp.esapi.resources=${FIELD_NC_HOME}/ierp/bin/esapi
- 其他操作与NC65一致。
5. 后端版本管理
5.1 本地新项目推送至gitlab
- 右键项目>小组>共享项目
- 选择Git>下一步
- 勾选 Use or create repository in parent folder of project
- 勾选项目点击Create Repository(图片是点击后的样子) ,在点击完成
- 右键>小组>落实
- 点击Commit and Push
- 输入信息
- 选择下一步
- 选择分支>点击Add Spec>下一步
- 这样表面有冲突,点击取消
- 右键项目>小组>remote>fetch from
- 选择分支>完成
- 进入git
- 右键>合并
- 选择origin的分支合同
- 右键>小组>remote>push重新提交代码即可
5.2 从gitlab获取项目到本地
- 进入git,点击新增(clone a git …)
- 填写地址>下一步>下一步>完成
- 进入Java 右键导入
- 选择来自git项目
- 选择 Existing local repository
- 选择刚刚从git下载的项目
- 导出完成
- 因为空文件夹不会上传到git,所以需要自己手动创建空的文件夹,或者在空文件夹里面放入一个占位文件上传到git
- 如果出现下图所示的提醒,参考下网址生成公钥,就可以使用ssh的方式上传代码。