9.玩转CloudIDE
提供在线编写代码、代码片段搜索等功能
9个技术栈
CloudIDE
根据使用的计算和存储资源按需计费
产品优势
随时随地开发
云化WebIDE,无需安装软件,快速进入开发环境,且只需浏览器即可实现编码,方便高效
统一开发环境
根据生产情况和开发所需工具,构建自定义栈,可让团队成员一键安装开发环境,快速实现团队环境一致,让开发人员尽可能快速加入团队专注生产
释放本地资源
本地IDE占内存多,时不时会Crash。云上IDE,不会占用本地资源
跨平台接入
跨越开发平台的差异,开发者通过Web方式进入IDE,代码、检查、构建、部署、调试能力尽享
应用场景
服务化Web应用开发
开发者受限于本地开发环境,很难实现基于线上代码引用、服务调试的移动开发能力。CloudIDE以Web方式获取开发环境,轻松跨过线上线下协同开发难关。
优势
本地零资源消耗
依托线上容器技术,开发对本地资源的要求趋近于零,开发资源的获取从预支转变为按需
跨平台接入
跨越开发平台的差异,开发者通过Web方式进入IDE,代码、检查、构建、部署、调试能力尽享
多语言支持
对多种开发语言的支持,Java、PHP、NodeJS等语法高亮、在线检查、随时入库
建议搭配使用
代码托管 CodeHub 代码检查 CodeCheck
功能描述
云端IDE
随时随地编写代码,可从本地或远程设备访问,支持多语言和不同的技术栈
代码出入库
集成代码托管(CodeHub)服务,提供代码出库、入库能力
代码片段搜索
根据对功能的自然语言描述和当前开发工程上下文的理解,智能搜索对应的代码片段
代码检查缺陷推送
当前工程中的代码缺陷,可直接定位到代码位置,修改、屏蔽缺陷,以及查看缺陷修改历史
CloudIDE服务概述
更新时间: 2018-12-06 11:50
CloudIDE是DevCloud的云端开发环境服务,向开发者提供按需配置、快速获取的工作空间(包含编辑器和运行环境),支持完成环境配置、代码阅读、编写代码、构建、运行、调试、预览等操作,并支持对接多种代码仓库。
CloudIDE基本特性如表1所示。
表1 CloudIDE基本特性
特性
描述
云化和轻量化
依托华为云的计算和存储资源,实现云化开发环境供给,通过浏览器访问就可完成开发全过程,实现移动办公。
快速按需容器化
用户工作空间基于全容器技术,极短时间即可按用户所需配置(计算和存储)启动并提供服务,用后随时释放。
多语言和技术栈
支持40多种语言的语法高亮,支持Java等语言的语法补齐,支持7种预置技术栈,无需复杂配置环境即可就位。
视图风格可切换
提供亮色和暗色两种视觉风格,编辑器提供多种视图布局,还支持满屏编辑和边栏收缩。
后端环境可配置
提供页面终端(WebTerminal)直接访问后端容器环境,以命令行设置变量、处理文件和配置其他环境因素。
构建运行和调试
提供命令管理器以支持构建(Build)和运行(Run),对Java等语言还支持断点调试。
可对接三方服务
除了对Git仓库(DevCloud代码仓库或GitHub等)的支持,还提供对接第三方服务(即通过外网通道对接其他开放服务)的能力。
企业化权限管控
提供基于黑白名单的访问控制能力,为企业租户提供掌控子用户行为的管理面。
功能列表
更新时间: 2018-12-06 11:50
CloudIDE功能列表如表1所示。
表1 功能列表
功能
描述
一键式环境获取
一键式获取云端基于容器的工作空间,并可在不需要时释放。
预置技术栈
预置多种技术栈,创建工作空间时选取预置技术栈可获得更快的环境配置能力。
按需配置资源
可按需选择工作空间的计算资源规格(micro或medium)和存储资源规格(GB)。
工作空间启动和停止
启动工作空间,获取由页面编辑器+运行环境+云端存储组成的集成开发环境。
停止工作空间可立即释放计算资源。
访问和配置后端环境
基于页面终端模拟器(WebTerminal)可以以命令行访问和配置后端环境。
多语言代码编写
支持40多种编程语言的语法高亮,以及Java等主流语言的代码智能提示。
代码构建和运行
容器化的运行环境可以构建(Build)和执行(Run)代码,并可查看运行结果及日志输出。
代码调试和预览
代码调试功能可支持Java等语言的在线代码调试,对Web类和接口类应用可提供页面预览或接口调用。
对接Git代码仓库
支持对接Git配置库(代码仓库),实现如Commit、Branch、Push等操作,支持第三方代码仓库(如GitHub)。
企业租户管理权限
向企业租户提供基于黑白名单的企业用户CloudIDE使用权限控制。
应用场景
更新时间: 2018-12-06 11:50
应用:服务化Web应用。
场景特点:开发者受限于无本地环境无法开发。通过Web直接访问CloudIDE,实现随时随地开发。
适用场景:适用于基于容器的服务化Web应用开发,保障快速搭建一致的开发环境,随时在线编写代码。
文档修订记录
更新时间: 2018-12-06 11:50
文档修订记录累积了每次文档更新的说明。最新版本的文档包含以前所有文档版本的更新内容。
修订记录
发布日期
第三次正式发布。变更说明如下:
服务概述全新更新。
功能列表全新更新。
2018-11-30
第二次正式发布。本次变更说明如下:
增加代码构建、运行、调试功能。
增加WebTerminal连接云端开发环境。
2018-07-10
第一次正式发布。
2017-07-15
快速上手CloudIDE
更新时间: 2018-12-17 18:54
帮助用户,快速建立对CloudIDE的整体印象。例如一家新公司,进行常规操作设置后,能够将CloudIDE用起来。
背景信息
CloudIDE是面向软件开发者的云端开发环境,支持在线编写代码,代码提交,构建、运行、调试等功能。
操作流程
介绍在“CloudIDE”中,CloudIDE的快速操作流程,如图1所示。
图1 操作流程
操作步骤
1.创建工作空间
单击“CloudIDE”首页“工作空间”页签的“新建工作空间”进行创建。
2.创建工程
单击“CloudIDE”首页“工程”页签的“新建工程”进行创建。
3.启动工作空间
单击“CloudIDE”首页工作空间所在行启动按钮。
4.CloudIDE编写代码
在CloudIDE中,可以编写代码,并对代码进行提交、构建和运行。
5.CloudIDE代码调试
在CloudIDE中,运行已提交的代码后,可以对代码进行在线调试。
基础操作主要包括:登录CloudIDE首页、创建工作空间、创建工程、启动工作空间的初级操作。
登录CloudIDE首页
更新时间: 2018-12-19 16:57
介绍登录CloudIDE首页的操作步骤。
操作步骤
1.登录DevCloud首页,在上方功能菜单区单击“服务 > CloudIDE”。
CloudIDE首页包含“工作空间”和“工程”两个页签,默认显示“工作空间”页签,如图1所示。
图1 CloudIDE首页
2.在“CloudIDE”区域查看工作空间总个数、工程总个数。
3.在“工作空间”页签显示当前用户工作空间列表,单击“新建工作空间”开始创建工作空间。
4.在“工程”页签显示工作空间下的工程列表,单击“新建工程”开始创建工程。
5.(可选)单击“帮助文档”可以查看工作空间使用指导。
创建工作空间
更新时间: 2018-12-19 16:57
介绍创建工作空间(含创建工程)以及修改、删除工作空间的操作步骤。
前提条件
同意加入CloudIDE公测后,才能使用CloudIDE。
每个用户最多创建1个工作空间。
操作步骤
1.登录CloudIDE首页。
2.单击“工作空间”页签的“新建工作空间”。
进入到“创建工作空间”页面,如图1所示。
图1 创建工作空间
工作空间信息参数说明如表1所示。
表1 工作空间信息参数
参数名
说明
名称
工作空间的名称。请根据界面提示进行设置。
描述
对工作空间的描述。
技术栈
请根据实际情况选择技术栈类型。目前支持的类型有:
Java
C++
Go
Node
PHP
Python2.7
Python
CPU内存
支持两种:
1U1G
2U4G
存储容量
支持三种:
5GB
10GB
20GB
3.单击“下一步”。
进入“创建工程”页面,如图2所示。
图2 创建工程
工程信息参数说明如表2所示。
表2 工程信息参数
参数名
说明
来源
默认为“CodeHub模板仓库”,工程来源有两种方式:
CodeHub模板仓库
私有仓库
“来源”选择“CodeHub模板仓库”时,需要设置的参数
工程名称
工程的名称。请根据界面提示进行设置。
模板
根据上一步中选择的“技术栈”类型不同,对应“模板”也不同。请根据需要设置不同“技术栈”以及对应的“模板”。
“来源”选择“私有仓库”时,需要设置的参数
项目名称
工程所属项目的名称。
说明:
项目来源为当前用户在DevCloud项目管理中已经创建或具有权限的项目。
项目支持搜索。
仓库地址
当前用户所属项目下拥有权限的代码仓库,仓库地址来源于代码托管中的代码仓库。
分支
从代码仓库中获取的具有权限的分支。
名称
工程的名称。名称默认为代码仓库的名称。
4.单击“确定”。
工作空间创建完成后,自动进入工作空间。
后续处理
请根据实际需要修改或删除工作空间:
1.登录CloudIDE首页。
已创建好的工作空间显示在首页“工作空间”列表中,如图3所示。
图3 工作空间列表
2.单击工作空间所在行。
可以根据需要修改工作空间名称与描述。
3.(可选)单击工作空间所在行可删除对应工作空间。
说明:
请根据提示慎重删除,删除后不可恢复。
创建工程
更新时间: 2018-12-19 16:57
介绍在已有工作空间中创建工程的操作步骤。
前提条件
一个工作空间默认至少要有一个工程。
一个工作空间最多可以创建或导入10个工程。
背景信息
创建工程有如下两种方式:
CodeHub模板仓库
私有仓库
操作步骤
1.登录CloudIDE首页。
2.单击“工程”页签的“新建工程”,可以继续创建工程。
创建好的工程显示在工程列表中。
3.(可选)单击工程所在行的可删除对应工程。
说明:
请根据提示慎重删除,删除后不可恢复。
启动工作空间
更新时间: 2018-12-19 16:57
介绍启动工作空间、以及停止或退出当前工作空间的操作步骤。
操作步骤
1.登录CloudIDE首页。
2.单击目标工作空间所在行。
3.启动完成后,进入云端CloudIDE中,即在线管理代码,如图1所示。
图1 云端CloudIDE
后续处理
1.在CloudIDE中,单击左上角“Workspace”,显示子菜单,如图2所示。
图2 Workspace菜单
2.(可选)单击“Stop”可以停止当前工作空间。
停止工作空间后,返回CloudIDE首页。
3.(可选)单击“Logout”可以退出当前工作空间。
退出后,返回用户登录页面。
进阶操作主要包括:Git、Terminal、命令管理器/自定义命令、Build、Test、Run、Debug相关的高级操作。
Git
更新时间: 2018-12-19 16:57
背景信息
用户在线修改代码后,可以通过CloudIDE中“Git”选项,对代码进行提交,还可以查看代码提交状态、提交历史等。
操作步骤
1.开发人员进入工作空间(CloudIDE)中。
2.在线修改目标文件代码。
3.单击“Git > Commit…”菜单,开始提交代码,如图1所示。
图1 Commit
4.代码Commit成功后,选择“Git > Remotes… > Push…”菜单,将代码推送到CodeHub仓库。
5.(可选)选择“Git > Remotes… > Pull…”菜单,可以拉取最新代码到本地。
6.(可选)选择“Git > Status”菜单,可以查看代码提交的状态。
7.(可选)选择“Git > Show History…”菜单,可以查看代码提交的历史记录。
Terminal
更新时间: 2018-12-19 16:57
背景信息
开发人员可以根据实际需要在Terminal中执行相关命令操作。
操作步骤
1.开发人员进入工作空间(CloudIDE)中。
2.在“Machines”区域,右键选择“Terminal”或菜单栏选择“Run > Terminal”如图1所示。
图1 Terminal
3.在Terminal控制台命令行中设置所需命令,如图2所示。
图2 Terminal命令行
命令管理器/自定义命令
更新时间: 2018-12-19 16:57
前提条件
在进行代码构建、测试、运行、调试前,需要在命令管理器中自定义好运行命令。
命令编辑器中提供的默认命令仅供参考,需要根据实际情况定义自己所需的命令。
背景信息
命令管理器提供的主要命令类型如下:
BUILD
TEST
RUN
DEBUG
操作步骤
1.开发人员进入CloudIDE代码编辑界面。
2.单击工程上方,将工程切换到命令编辑器状态,如图1所示。
图1 命令编辑器
3.单击,此处以TEST类型的Maven为例,如图2所示。
图2 TEST命令
4.双击“Maven”类型,在“Command Line”中显示默认的参考命令,如图3所示。
图3 Command Line
5.在命令行中重新定义运行命令,单击“RUN”。
Build
更新时间: 2018-12-19 16:57
背景信息
开发人员准备好工程后,可以根据实际需要构建代码,即利用自动生成的build脚本打包,生成对应的代码文件。
操作步骤
1.开发人员进入工作空间(CloudIDE)中。
2.选中工程右键选择“Commands > Build(1) > build”,如图1所示。
图1 Build
3.编译成功后,选中工程右键选择“Refresh(工程名)”,如图2所示。
图2 Refresh工程
4.刷新工程后,构建好的文件显示“target”文件下,如图3所示。
图3 target文件
后续处理
1.进入命令编辑器。
2.单击BUILD后的,选择构建类型。
3.在“Command Line”中自定义运行命令,单击“RUN”。
Test
更新时间: 2018-12-19 16:57
前提条件
开发人员导入带有JUnitTest的工程或使用模板(例:web-java-spring)创建好工程。
操作步骤
1.进入命令编辑器,如图1所示。
图1 TEST
2.单击TEST后的,设置TEST类型(此处以Maven为例),如图2所示。
图2 TEST命令
3.双击“Maven”类型,在“Command Line”中自定义运行命令,单击“RUN”。
Run
更新时间: 2018-12-19 16:57
背景信息
开发人员准备好工程后,可以根据实际需要运行代码。
操作步骤
1.开发人员进入CloudIDE代码编辑界面。
2.单击运行按钮,选择“Create Run command”,如图1所示。
图1 Create Run command
3.在命令编辑器的“Command Line”中自定义运行命令。
4.单击“RUN”。
Debug
更新时间: 2018-12-19 16:57
前提条件
开发人员设置好断点后,根据实际需要对代码进行调试。
操作步骤
1.开发人员进入CloudIDE代码编辑界面。
2.单击,选择“Create Debug command”,如图1所示。
图1 Create Debug command
3.在命令编辑器的“Command Line”中自定义运行命令。.
4.单击“RUN”。
Java技术栈
代码编译(Build)
更新时间: 2018-12-19 16:57
背景信息
提供两种方式可以进行代码编译(Build)。
操作步骤
1.选择工程单击鼠标右键选择“Commands > Build > build”。
2.单击“Manage commands”图标,选择build命令编写Command Line,单击右上角的“RUN”按钮 (利用下方的Apply to区域可以把该命令添加到指定的项目右键的Command中去)。
3.工程右键选择“Refresh(工程名)”,出现编译文件夹target(包括编译好的文件和jar包)。
代码运行(Run)
更新时间: 2018-12-19 16:57
1.单击“Manage commands”图标,单击RUN右侧的(+)并选择“Maven”。
2.在“Command Line”中添加Run命令,单击右上角的“RUN”按钮。
Run命令:java -jar ${current.project.path}/target/*.jar
代码调试(Debug)
更新时间: 2018-12-19 16:57
1.单击“Manage commands”图标,单击DEBUG右侧的(+)并选择“Maven”。
2.在“Command Line”中添加Debug命令,单击右上角的“RUN”按钮(此处监听端口用的8443)。
控制台显示“Listening for transport dt_socket at address: 8443”表示监视成功。
Debug命令:java -jar -Xdebug -Xrunjdwp:transport=dt_socket,address=8443,server=y,suspend=y ${current.project.path}/target/*.jar
3.单击想要Debug的代码处,出现灰色表示成功设定Debug位置。
4.首次执行Debug,单击菜单栏“Run > Edit Debug Configurations…”。
5.单击JAVA右侧的(+),生成Remote.java文件,将端口号设置成跟步骤2中的监听端口一致(此处为8443),单击“Debug”按钮。
6.端口号不变的情况下再次执行Debug。
可以直接在项目右键单击“Debug ‘Remote Java’”。
JUnit测试
更新时间: 2018-12-19 16:57
1.导入带有JUnitTest的工程或使用模板(例:console-java-simple)创建工程,工程右键选择“Commands > Build > 项目名”:build(利用自动生成的build脚本打包)。
2.工程右键单击“Run Test > Run JUnit Test”。
3.JUnitTest文件Debug,在JUnitTest文件打好断点,右键工程选择“Run Test > Debug JUnit”。
查看快捷键
更新时间: 2018-12-19 16:57
1.单击菜单栏“Assistant > Key Bindings”。
2.查看快捷键。
文档修订记录
更新时间: 2018-12-19 16:57
文档修订记录累积了每次文档更新的说明。最新版本的文档包含以前所有文档版本的更新内容。
修订记录
发布日期
第七次正式发布。
本次变更说明如下:
增加JAVA技术栈。
2018-12-20
第六次正式发布。
本次变更说明如下:
修改创建工作空间。
2018-11-25
第五次正式发布。
本次变更说明:修改新UI功能。
2018-11-10
第四次正式发布。
本次变更说明如下:
增加Terminal操作。
增加命令编辑器,可以自定义运行命令。
增加Build操作。
增加TEST操作。
增加Run操作。
增加Debug操作。
修改创建工作空间。
修改创建工程。
修改启动工作空间。
删除Java语言如何使用自动补全快捷键。
删除如何配合代码检查修改代码缺陷。
2018-07-10
第三次正式发布。
本次变更说明如下:
新框架更新。
2018-03-28
第二次正式发布。
本次变更说明如下:
增加创建工程,支持一个工作空间最多可以创建或导入10个工程。
增加Java语言如何使用自动补全快捷键,自动补全快捷键支持“Alt+/”。
修改启动工作空间,支持停止当前工作空间。
修改如何配合代码检查修改代码缺陷,增加“Project Name”选项。
工作空间所属项目支持搜索。
2017-09-30
第一次正式发布。
2017-07-15
Web项目 on CloudIDE
更新时间: 2018-12-19 14:21
目的
帮助想要或者正在使用CloudIDE服务的用户,将本地代码编写、提交、运行、调试等迁移到云上。
实操步骤
更多CloudIDE实践请参见DevCloud最佳实践。
目的
通过视频模拟演示如何从组件团队开始,经过编码、部署等过程,完成一个JavaWeb项目的交付。
Java on DevCloud-1:人员管理
实操步骤
1.使用DevCloud创建交付团队 2min
拿到项目组成员名单后,将项目组成员添加到项目中,并分配角色(没有账号的成员需要申请账号),便于以后任务分配和协作。
Java on DevCloud-1:人员管理:本系列视频主要是通过一个简单的研发场景,讲解DevCloud的各模块功能,操作以及在项目各生命周期中的应用,帮助大家了解Java项目如何在DevCloud上面运行。
Java on DevCloud-2:项目管理
2.将项目需求迁移到DevCloud上进行项目规划,任务分配(视频 5min)
将需求文档上传至“文档”或“wiki”中,便于项目组成员查阅;将需求细化拆分,划分迭代,开发人员认领任务,践行Scrum。
Java on DevCloud-2:项目管理:本系列视频主要是通过一个简单的研发场景,讲解DevCloud的各模块功能,操作以及在项目各生命周期中的应用,帮助大家了解Java项目如何在DevCloud上面运行。
3.利用仪表盘的直观图表数据进行Scrum迭代会议(视频 1min)
每个迭代都需要做一个总结,DevCloud的“仪表盘”通过各种统计图表,直观地显示项目在每个迭代中的进展,直白明了。
Java on DevCloud-9:仪表盘:本系列视频主要是通过一个简单的研发场景,讲解DevCloud的各模块功能,操作以及在项目各生命周期中的应用,帮助大家了解Java项目如何在DevCloud上面运行
Java on DevCloud-3:代码托管:
3.在开发过程中使用DevCloud做版本控制器,管理代码 5min
从“代码广场”下载开源项目,使用Devcloud的“代码仓库”管理项目代码内容以及版本。
Java on DevCloud-3:代码托管:本系列视频主要是通过一个简单的研发场景,讲解DevCloud的各模块功能,操作以及在项目各生命周期中的应用,帮助大家了解Java项目如何在DevCloud上面运行。
1.所有的开发人员安装git bash和git tortoes
2.生成SSH密钥,确保代码传输过程中的安全性
如何生成密钥:
把公钥和私钥都保存到电脑上
以一个开源项目为模板进行
点击fork
下载到本地
需求:把项目名称改一下
Java on DevCloud-4:代码检查
4.使用代码检查减少代码安全漏洞,规范开发人员编码习惯 3min
使用“代码检查”检查代码漏洞和不规范书写,优化代码质量,规范开发人员编码习惯,为项目的长期稳定打下良好基础。
Java on DevCloud-4:代码检查
Java on DevCloud-5:编译构建
5.使用DevCloud云上构建并管理构建包,为部署做准备 3min
使用“编译构建”对代码进行打包,并通过“软件发布库”保存历史构建包,为部署功能做准备。
Java on DevCloud-5:编译构建
需要初始化私有依赖库
Java on DevCloud-6:部署
6.使用DevCloud体验云端一键部署 2min
将公网可达的云主机添加到DevCloud中,使用“部署”功能进行云端一键部署,将项目部署到测试环境,查看交付效果。
添加主机
Java on DevCloud-7:测试
7.云测帮助开发团队进行双向追溯,鞭策开发提高代码质量 2min
测试项目是否有Bug,记录产品Bug并关联需求,鞭策开发提高代码质量。
Java on DevCloud-8:流水线
8.解放运维力量,使用流水线定时自动化运维 3min
项目交付频率提高,项目组成员总加班怎么办,“流水线”通过自动化定时执行各种指定功能,实现DevOps,解放运维力量。
Java on DevCloud-8:流水线
项目经理抱怨:要加班很晚部署项目
解放运维的力量
9.利用仪表盘的直观图表数据进行Scrum迭代会议 1min
每个迭代都需要做一个总结,DevCloud的“仪表盘”通过各种统计图表,直观地显示项目在每个迭代中的进展,直白明了。