diff --git a/Projects/Developer/Developer_Features.md b/Projects/Developer/Developer_Features.md index c3345522752fa735570a4248ca26b45338d09e81..9a08db22347e3e8dc4d30c85515bcaf23f32112d 100644 --- a/Projects/Developer/Developer_Features.md +++ b/Projects/Developer/Developer_Features.md @@ -2,30 +2,12 @@ Developer 特性清单 ---- |**特性名称**|**特性描述**|**设计约束**| |---|---|---| -|开发工具管理|提供给开发者使用的App开发工具,开发者可以下载使用,也可以将自研的工具分享给社区开发者使用。|| +|工具箱|提供给开发者使用的App开发工具,开发者可以下载使用,也可以将自研的工具分享给社区开发者使用。|| |能力中心|展示所有开发者平台提供的能力,包括平台自身提供,开发者共享到此平台的能力,供开发者开发部署项目使用。|| -|工作空间|工作空间是给开发者提供的项目管理平台,开发者可以通过创建项目,完成App的开发-测试-发布的整个流程。支持容器和虚机应用的部署调测|| -|系统|系统菜单是给管理员提供的管理菜单。主要负责测试沙箱和能力中心(服务)的管理|| +|应用孵化|应用孵化是给开发者提供的项目管理平台,开发者可以通过创建项目,完成App的开发-测试-发布的整个流程。支持容器和虚机应用的部署调测|| +|系统管理|系统菜单是给管理员提供的管理菜单。主要负责测试沙箱和能力中心(服务)的管理|| -### 开发工具管理 -目前开发工具管理提供生成API调用的样例代码和生成csar包格式的插件,该插件目前支持java和python。 - -#### 插件列表 - -![](/uploads/images/2021/developer/plugin-list.PNG "plugin-list.PNG") - - -#### 插件上传 - -![](/uploads/images/2021/developer/pluginupload.PNG "pluginupload.PNG") - - -#### 工具链 -工具链是开发者平台提供给开发者分析源代码,定位出需要修改的地方,以便于在不同平台部署。 - -![](/uploads/images/2021/developer/toolchain.PNG "toolchain.PNG") - #### 文档 文档菜单包含平台的简介,开发工具,以及介绍如何将能力发布到开发者平台。 @@ -38,135 +20,127 @@ Developer 特性清单 ![](/uploads/images/2021/developer/abilitycenter.PNG "abilitycenter.PNG") -### 工作空间 +### 应用孵化 -开发者在这里通过创建project的方式,管理自己的APP开发过程,有两种开发模式: +开发者在这里通过创建项目的方式,管理自己的APP开发过程,有两种开发模式: -1. **应用开发** 从编码开始,开发一个全新的应用 +1. **新建应用** 在开发集成平台进行部署测试,最终发布到应用仓库上 -2. **应用集成** 已有应用,需要将应用打包成镜像,在开发集成平台进行部署测试,最终发布到应用仓库上。 +2. **选择场景** 支持profile应用场景,集成profile相关基础能力。 开发集成平台提供的端到端开发流程如下: -![](/uploads/images/2021/v1.1/FlowChart.png "ApplicationDevelopmentProcess.PNG") +![输入图片说明](../../uploads/images/2021/developer/%E5%BA%94%E7%94%A8%E5%AD%B5%E5%8C%96.png) #### 创建项目 -创建项目时,需要输入项目基本信息和选择需要依赖的生态能力,当前版本支持容器应用和虚机应用。 +创建项目时,需要输入项目基本信息。当前版本支持容器应用和虚机应用。 +![输入图片说明](../../uploads/images/2021/developer/%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE.png) -#### 能力详情 +#### 能力中心-可选 创建项目时选择的能力,这里会展示对应能力的详细API,帮助开发者理解如何调用能力服务,并在后台提供API模拟器,可以测试API的请求和返回值。 +![输入图片说明](../../uploads/images/2021/developer/%E8%83%BD%E5%8A%9B%E4%B8%AD%E5%BF%83.png) -针对每个能力服务,还提供SDK下载功能,开发者可以将SDK直接集成到代码中。 -![](/uploads/images/2021/cor2020/CapabilityDetails.png "CapabilityDetails.png") - - -#### 应用开发 -针对选择依赖的能力API,提供调用的样例代码,帮助开发者将依赖API快速集成到自己的代码中。 - -![](/uploads/images/2021/cor2020/ApplicationDevelopment.png "ApplicationDevelopment.png") +#### 选择沙箱 +选择相应的沙箱环境进行部署调测 +![输入图片说明](../../uploads/images/2021/developer/%E9%80%89%E6%8B%A9%E6%B2%99%E7%AE%B1.png) #### 部署调测 容器应用部署调测分为三个部署: - 上传APP镜像 - 支持两种镜像上传方式 - - 用户上传镜像打包文件。 - - 上传到EdgeGallery的镜像仓库。 + 集成开发-系统管理-系统镜像管理-容器镜像 + - 将镜像文件上传至容器镜像管理中。 -![](/uploads/images/2021/developer/deploy-one.PNG "deploy-one.PNG") +![输入图片说明](../../uploads/images/2021/developer/%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E4%B8%8A%E4%BC%A0.png) - 配置部署文件 - 提供两种配置部署文件方式: - - 用户在本地编辑好后直接上传,平台提供基本的校验功能;有关配置文件的格式,可以参考界面提供的demo样例,该样例可以直接上传使用。 - - ![](/uploads/images/2021/developer/deploy-two-file.PNG "deploy-two-file.PNG") + 提供两种配置部署文件方式,支持在线编辑修改: + - 支持k8s deployment yaml文件上传,平台提供基本的校验功能;有关配置文件的格式,可以参考界面提供的demo样例,该样例可以直接上传使用。 - - 可视化配置文件,目前版本支持的部署类型为Pod和Service。 + - 支持helmchart文件上传。 - ![](/uploads/images/2021/developer/deploy-two-config.PNG "deploy-two-config.PNG") + ![输入图片说明](../../uploads/images/2021/developer/k8%E8%84%9A%E6%9C%AC%E4%B8%8A%E4%BC%A0.png) - 部署调测 - - **Step1** 部署调测前可以根据需要选择部署环境,EdgeGallery提供‘模拟环境’和‘5G真实’两种测试环境(v1.1版本只实现模拟环境分配); - - **Step2** 启动部署,开始 生成部署文件 -> 分配测试节点 -> 实例化应用 -> 获取部署状态 - - **Step3** 部署成功后,会返回部署后台的测试链接,并且展示已经部署完成POD信息 - - **Step4** 应用开发者通过链接对应用进行测试 - - **Step5** 测试完成后,通过【资源回收】按钮释放测试环境,如需修改,请在完成镜像修改后,循环以上Step1->Step2->Step3->Step4操作,对应用进行反复测试 + - **Step1** 启动部署,开始 生成部署文件 -> 获取测试节点 -> 实例化应用 -> 获取部署状态 + - **Step2** 部署成功后,会展示已经部署完成POD信息 + - **Step3** 应用开发者暴露的端口号对应用进行测试 + - **Step4** 可以通过远程登录,查看应用的部署详细信息以及日志 + - **Step5** 测试完成后,通过【删除】按钮释放测试环境,如需修改,请在完成镜像修改后,循环以上Step1->Step2->Step3->Step4操作,对应用进行反复测试 -![](/uploads/images/2021/cor2020/DeploymentTest.png "DeploymentTest.png") - -![](/uploads/images/2021/cor2020/DeploymentTest-DeploySuccess.png "DeploymentTest-DeploySuccess.png") +![输入图片说明](../../uploads/images/2021/developer/%E5%AE%B9%E5%99%A8%E9%83%A8%E7%BD%B2%E8%B0%83%E6%B5%8B.png) 虚机应用部署调测分为以下三个步骤: -- 选择虚机资源 +- 选择虚机沙箱 -![](/uploads/images/2021/v1.1/ApplyingVm.png "ApplyingVm.png") +![输入图片说明](../../uploads/images/2021/developer/%E8%99%9A%E6%9C%BA%E6%B2%99%E7%AE%B1%E9%80%89%E6%8B%A9.png) 配置虚机的规格、镜像、网络等信息 - 输入虚机名称 -![](/uploads/images/2021/v1.1/BasicVmInformation.png "BasicVmInformation.png") +![输入图片说明](../../uploads/images/2021/developer/%E8%99%9A%E6%9C%BA%E5%90%8D%E7%A7%B0.png) -- 配置虚机资源大小,镜像源 +- 配置虚机镜像源 -![](/uploads/images/2021/v1.1/SettingVmSpecification.png "SettingVmSpecification.png") +![输入图片说明](../../uploads/images/2021/developer/%E8%99%9A%E6%9C%BA%E9%95%9C%E5%83%8F%E9%80%89%E6%8B%A9.png) -- 设置虚机网络类型,默认勾选N6网络 +- 配置虚机资源规格 -![](/uploads/images/2021/v1.1/NetworkSettings.png "NetworkSettings.png") +![输入图片说明](../../uploads/images/2021/developer/%E8%99%9A%E6%9C%BA%E8%A7%84%E5%88%99%E9%80%89%E6%8B%A9.png) -- 申请虚机 +- 设置虚机网络类型,默认全选 -![](/uploads/images/2021/v1.1/VmDeployment.png "VmDeployment.png") +![输入图片说明](../../uploads/images/2021/developer/%E8%99%9A%E6%9C%BA%E7%BD%91%E7%BB%9C%E9%85%8D%E7%BD%AE.png) -申请到的虚机可以远程登录进行应用开发调测: +- 启动虚机 -![](/uploads/images/2021/v1.1/VmVNC.png "VmVNC.png") +![输入图片说明](../../uploads/images/2021/developer/%E5%90%AF%E5%8A%A8%E8%99%9A%E6%9C%BA%E9%83%A8%E7%BD%B2.png) -- 导出镜像 +申请到的虚机可以远程登录和SSH到虚机进行应用开发调测: - - 将镜像分片下载并打包在csar包中 +![输入图片说明](../../uploads/images/2021/developer/%E8%BF%9C%E7%A8%8B%E8%B0%83%E6%B5%8B.png) + +- 导出镜像 -![](/uploads/images/2021/v1.1/VmImage.png "VmImage.png") + - 将镜像下载到镜像管理中 -#### 应用发布 -应用发布分为三个步骤: -- 应用配置 - - **可选** 流规则配置 - - **可选** 应用服务发布配置:如果该应用需要成为生态能力服务,需要进行该配置。需要上传对应的API接口文档和MD说明文档,具体配置如下 +![输入图片说明](../../uploads/images/2021/developer/%E9%95%9C%E5%83%8F%E5%AF%BC%E5%87%BA.png) -![](/uploads/images/2021/cor2020/ApplicationRelease-RuleConfiguration.png "ApplicationRelease-RuleConfiguration.png") +#### 制作镜像 +根据项目的基本信息,将应用进行打包: +![输入图片说明](../../uploads/images/2021/developer/%E5%BA%94%E7%94%A8%E6%89%93%E5%8C%85.png) -- 应用认证 +#### 测试认证 - 对接认证测试平台,所有完成开发的应用都需要通过认证测试平台的认证后才能发布到AppStore平台,生成的认证测试报告会附带发送给你AppStore平台。 + 对接认证测试平台,所有完成开发的应用都需要通过认证测试平台的认证后才能发布到AppStore平台,生成的认证测试报告会附带发送给你AppStore平台。 - 选择测试场景 - ![](/uploads/images/2021/developer/atp-1.PNG "atp-1.PNG") + ![输入图片说明](../../uploads/images/2021/developer/%E9%80%89%E6%8B%A9%E6%B5%8B%E8%AF%95%E5%9C%BA%E6%99%AF.png) - 执行测试用例 - ![](/uploads/images/2021/developer/atp-2.PNG "atp-2.PNG") + ![输入图片说明](../../uploads/images/2021/developer/%E6%89%A7%E8%A1%8C%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B.png) - 应用发布 认证通过的应用,通过这里可以直接发布到EdgeGallery的AppStore平台,同时如果在【应用配置】时填写了应用服务发布配置,该应用同样会做为能力服务,被收录到能力中心里,可以被其他应用开发者使用。 -![](/uploads/images/2021/cor2020/ApplicationRelease.png "ApplicationRelease.png") +![输入图片说明](../../uploads/images/2021/developer/%E5%BA%94%E7%94%A8%E5%8F%91%E5%B8%83.png) ### 系统 -系统菜单主要对管理员权限的用户开放,提供沙箱节点以及平台能力的管理。 +系统菜单主要对管理员权限的用户开放,提供沙箱节点、镜像管理以及平台能力的管理。 #### 沙箱管理 - 沙箱节点列表 -![](/uploads/images/2021/developer/sys-saxbox.PNG "sys-saxbox.PNG") +![输入图片说明](../../uploads/images/2021/developer/%E6%B2%99%E7%AE%B1%E8%8A%82%E7%82%B9%E5%88%97%E8%A1%A8.png) - 新增沙箱节点 diff --git "a/uploads/images/2021/developer/k8\350\204\232\346\234\254\344\270\212\344\274\240.png" "b/uploads/images/2021/developer/k8\350\204\232\346\234\254\344\270\212\344\274\240.png" new file mode 100644 index 0000000000000000000000000000000000000000..f5e2298fe97bcf1a4e2ed46fff81208b3ae4709d Binary files /dev/null and "b/uploads/images/2021/developer/k8\350\204\232\346\234\254\344\270\212\344\274\240.png" differ diff --git "a/uploads/images/2021/developer/\345\210\233\345\273\272\351\241\271\347\233\256.png" "b/uploads/images/2021/developer/\345\210\233\345\273\272\351\241\271\347\233\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..6e386ffb7398f3066a6e5944529759f56b145d52 Binary files /dev/null and "b/uploads/images/2021/developer/\345\210\233\345\273\272\351\241\271\347\233\256.png" differ diff --git "a/uploads/images/2021/developer/\345\220\257\345\212\250\350\231\232\346\234\272\351\203\250\347\275\262.png" "b/uploads/images/2021/developer/\345\220\257\345\212\250\350\231\232\346\234\272\351\203\250\347\275\262.png" new file mode 100644 index 0000000000000000000000000000000000000000..de44b9f15bc613eb6e7e3ef86721e5356356f4ff Binary files /dev/null and "b/uploads/images/2021/developer/\345\220\257\345\212\250\350\231\232\346\234\272\351\203\250\347\275\262.png" differ diff --git "a/uploads/images/2021/developer/\345\256\271\345\231\250\351\203\250\347\275\262\350\260\203\346\265\213.png" "b/uploads/images/2021/developer/\345\256\271\345\231\250\351\203\250\347\275\262\350\260\203\346\265\213.png" new file mode 100644 index 0000000000000000000000000000000000000000..e5fa88e19c742e90bc34fb06ba2463104801c8fb Binary files /dev/null and "b/uploads/images/2021/developer/\345\256\271\345\231\250\351\203\250\347\275\262\350\260\203\346\265\213.png" differ diff --git "a/uploads/images/2021/developer/\345\256\271\345\231\250\351\225\234\345\203\217\344\270\212\344\274\240.png" "b/uploads/images/2021/developer/\345\256\271\345\231\250\351\225\234\345\203\217\344\270\212\344\274\240.png" new file mode 100644 index 0000000000000000000000000000000000000000..4a63cc59534a3f4e6a38e3dada99d329bba18ce6 Binary files /dev/null and "b/uploads/images/2021/developer/\345\256\271\345\231\250\351\225\234\345\203\217\344\270\212\344\274\240.png" differ diff --git "a/uploads/images/2021/developer/\345\272\224\347\224\250\345\217\221\345\270\203.png" "b/uploads/images/2021/developer/\345\272\224\347\224\250\345\217\221\345\270\203.png" new file mode 100644 index 0000000000000000000000000000000000000000..c4238ab321b06fe0a3f665f1b5b272d832fb218b Binary files /dev/null and "b/uploads/images/2021/developer/\345\272\224\347\224\250\345\217\221\345\270\203.png" differ diff --git "a/uploads/images/2021/developer/\345\272\224\347\224\250\345\255\265\345\214\226.png" "b/uploads/images/2021/developer/\345\272\224\347\224\250\345\255\265\345\214\226.png" new file mode 100644 index 0000000000000000000000000000000000000000..b7db61444e37b5aee2bf9572c639a30406a6507e Binary files /dev/null and "b/uploads/images/2021/developer/\345\272\224\347\224\250\345\255\265\345\214\226.png" differ diff --git "a/uploads/images/2021/developer/\345\272\224\347\224\250\346\211\223\345\214\205.png" "b/uploads/images/2021/developer/\345\272\224\347\224\250\346\211\223\345\214\205.png" new file mode 100644 index 0000000000000000000000000000000000000000..28370c4c26282081a025e8088da9b6cbb6aeb236 Binary files /dev/null and "b/uploads/images/2021/developer/\345\272\224\347\224\250\346\211\223\345\214\205.png" differ diff --git "a/uploads/images/2021/developer/\346\211\247\350\241\214\346\265\213\350\257\225\347\224\250\344\276\213.png" "b/uploads/images/2021/developer/\346\211\247\350\241\214\346\265\213\350\257\225\347\224\250\344\276\213.png" new file mode 100644 index 0000000000000000000000000000000000000000..dd8b7ce16fc3b30837c2c5b2cff7be4c7778d924 Binary files /dev/null and "b/uploads/images/2021/developer/\346\211\247\350\241\214\346\265\213\350\257\225\347\224\250\344\276\213.png" differ diff --git "a/uploads/images/2021/developer/\346\262\231\347\256\261\350\212\202\347\202\271\345\210\227\350\241\250.png" "b/uploads/images/2021/developer/\346\262\231\347\256\261\350\212\202\347\202\271\345\210\227\350\241\250.png" new file mode 100644 index 0000000000000000000000000000000000000000..a84ca106b785e681240fec227af9762ac4dc4eb2 Binary files /dev/null and "b/uploads/images/2021/developer/\346\262\231\347\256\261\350\212\202\347\202\271\345\210\227\350\241\250.png" differ diff --git "a/uploads/images/2021/developer/\350\203\275\345\212\233\344\270\255\345\277\203.png" "b/uploads/images/2021/developer/\350\203\275\345\212\233\344\270\255\345\277\203.png" new file mode 100644 index 0000000000000000000000000000000000000000..67d02144b96d7317db58a046d0f909bfcf1f4fc8 Binary files /dev/null and "b/uploads/images/2021/developer/\350\203\275\345\212\233\344\270\255\345\277\203.png" differ diff --git "a/uploads/images/2021/developer/\350\231\232\346\234\272\345\220\215\347\247\260.png" "b/uploads/images/2021/developer/\350\231\232\346\234\272\345\220\215\347\247\260.png" new file mode 100644 index 0000000000000000000000000000000000000000..e79a8f9cd53262787fa9b9e1e56ea04397188b2c Binary files /dev/null and "b/uploads/images/2021/developer/\350\231\232\346\234\272\345\220\215\347\247\260.png" differ diff --git "a/uploads/images/2021/developer/\350\231\232\346\234\272\346\262\231\347\256\261\351\200\211\346\213\251.png" "b/uploads/images/2021/developer/\350\231\232\346\234\272\346\262\231\347\256\261\351\200\211\346\213\251.png" new file mode 100644 index 0000000000000000000000000000000000000000..d1081b96561135428489c2753e526f62366f7886 Binary files /dev/null and "b/uploads/images/2021/developer/\350\231\232\346\234\272\346\262\231\347\256\261\351\200\211\346\213\251.png" differ diff --git "a/uploads/images/2021/developer/\350\231\232\346\234\272\347\275\221\347\273\234\351\205\215\347\275\256.png" "b/uploads/images/2021/developer/\350\231\232\346\234\272\347\275\221\347\273\234\351\205\215\347\275\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..8caebc45369ad50e27116b250ecd915080016cb8 Binary files /dev/null and "b/uploads/images/2021/developer/\350\231\232\346\234\272\347\275\221\347\273\234\351\205\215\347\275\256.png" differ diff --git "a/uploads/images/2021/developer/\350\231\232\346\234\272\350\247\204\345\210\231\351\200\211\346\213\251.png" "b/uploads/images/2021/developer/\350\231\232\346\234\272\350\247\204\345\210\231\351\200\211\346\213\251.png" new file mode 100644 index 0000000000000000000000000000000000000000..32a8267482c22f45b370ccbadafbe418968fb7da Binary files /dev/null and "b/uploads/images/2021/developer/\350\231\232\346\234\272\350\247\204\345\210\231\351\200\211\346\213\251.png" differ diff --git "a/uploads/images/2021/developer/\350\231\232\346\234\272\351\225\234\345\203\217\351\200\211\346\213\251.png" "b/uploads/images/2021/developer/\350\231\232\346\234\272\351\225\234\345\203\217\351\200\211\346\213\251.png" new file mode 100644 index 0000000000000000000000000000000000000000..dab1ed2f7852f55e48b7fe4950bc3594d15b644a Binary files /dev/null and "b/uploads/images/2021/developer/\350\231\232\346\234\272\351\225\234\345\203\217\351\200\211\346\213\251.png" differ diff --git "a/uploads/images/2021/developer/\350\277\234\347\250\213\350\260\203\346\265\213.png" "b/uploads/images/2021/developer/\350\277\234\347\250\213\350\260\203\346\265\213.png" new file mode 100644 index 0000000000000000000000000000000000000000..7916131407a7c7ab2eb2dded68ea37df87638dcb Binary files /dev/null and "b/uploads/images/2021/developer/\350\277\234\347\250\213\350\260\203\346\265\213.png" differ diff --git "a/uploads/images/2021/developer/\351\200\211\346\213\251\346\262\231\347\256\261.png" "b/uploads/images/2021/developer/\351\200\211\346\213\251\346\262\231\347\256\261.png" new file mode 100644 index 0000000000000000000000000000000000000000..5e17f6510f2a275610cc9227bf422847e3daff3f Binary files /dev/null and "b/uploads/images/2021/developer/\351\200\211\346\213\251\346\262\231\347\256\261.png" differ diff --git "a/uploads/images/2021/developer/\351\200\211\346\213\251\346\265\213\350\257\225\345\234\272\346\231\257.png" "b/uploads/images/2021/developer/\351\200\211\346\213\251\346\265\213\350\257\225\345\234\272\346\231\257.png" new file mode 100644 index 0000000000000000000000000000000000000000..ae60731056a00662f5fe245bb2e31fb3cbe766c7 Binary files /dev/null and "b/uploads/images/2021/developer/\351\200\211\346\213\251\346\265\213\350\257\225\345\234\272\346\231\257.png" differ diff --git "a/uploads/images/2021/developer/\351\225\234\345\203\217\345\257\274\345\207\272.png" "b/uploads/images/2021/developer/\351\225\234\345\203\217\345\257\274\345\207\272.png" new file mode 100644 index 0000000000000000000000000000000000000000..74acc1bbd20ad3876f7880076be47a11b88576bc Binary files /dev/null and "b/uploads/images/2021/developer/\351\225\234\345\203\217\345\257\274\345\207\272.png" differ