一、概述
Serverless Web IDE 支持:
·完整的函数开发、部署、测试能力。
·终端能力,预置了常用的 pip,npm 等开发工具和云函数 SCF 已经支持的编程语言开发环境。
·完整的 IDE 所含的基础能力,包括智能提示、代码自动补全等。
·用户自定义 IDE 配置,在不同函数的在线开发中提供一致的 IDE 使用体验。
二、使用方式
1. 登录 Serverless 控制台,在左侧选择函数服务。
2. 在函数列表中,单击函数名,进入该函数的详情页面。
3. 在函数管理页面中,选择函数代码 > 在线编辑,即可查看并编辑函数。
注意:Java、Go 运行时暂不支持在线编辑,仅支持上传已经开发完成编译打包后的 ZIP 包或二进制文件。SCF 环境暂不提供 Java、Go 的编译能力。具体请参见 Golang 部署指南、Java 部署指南。
三、概览图
这篇会以 Serverless Web IDE 工具整体页面从左至右顺序依次介绍。如下:
1. 资源管理器
2. 文件编辑区
3. 命令行终端
四、函数操作
在 Serverless Web IDE 中,可以完成函数代码编辑、部署、测试全流程操作。你可在下方选择测试模板,单击测试,函数将根据所选模板执行函数运行,并输出结果及日志。如下:
五、函数部署
Serverless Web IDE 提供手动部署和自动部署两种函数部署方式,支持在线安装依赖。
·部署方式:
·手动部署:手动部署模式下,你可以通过单击 IDE 右上角部署按钮触发函数部署到云端。
·自动部署:自动部署模式下,保存(ctrl + s 或 command + s)即可触发函数部署到云端。
·在线安装依赖:目前只支持 Node.js 运行环境,在线安装依赖开启后,在函数部署时会根据 package.json 中的配置自动安装依赖,详情可参考 在线依赖安装。
切换部署方式和启用在线依赖安装可通过单击 IDE 下方操作区箭头的自动安装依赖、自动部署进行切换,自动部署:关闭则代表手动部署模式。
六、函数测试
你可以单击 IDE 下方的测试触发函数运行,并在输出中查看函数运行结果。
·选择测试模板:单击测试事件模块的测试模板选择函数测试触发事件。
·新增测试模板:如果现有的测试模板不能满足你的测试需求,你可以直接修改测试模板,并另存为新的自定义测试事件,新增测试事件将以 JSON 文件的格式存储在函数根目录 /src 下的 scf_test_event 文件夹中,跟随函数一起部署到云端。如下:
七、查看日志
你可以在输出中查看函数测试结果,包括返回数据 Response、日志 Output 和函数执行摘要 Summary。
八、更多操作
在资源管理器函数文件上单击右键展开的列表中,包含了函数相关的全部操作。除部署、测试、新增测试模板等操作外,还提供以下内容:
·生成 serverless.yml:将函数当前的配置写入配置文件 serverless.yml,可以使用 Serverless Cloud Framework 命令行工具进行二次开发。
·丢弃当前修改:重新拉取云端已经部署的函数覆盖当前工作区。
九、IDE 操作
Serverless Web IDE 中常用命令、运行环境和预置的扩展版本如下所示:
十、常用命令
| 命令 | 版本 |
| python3 | Python 3.7.12(Web IDE 默认的 Python 版本,如果想使用其他 Python 版本执行命令,需在命令前指定具体版本,如 python39 –version)。 |
| python37 | Python 3.7.12 |
| python36 | Python 3.6.1 |
| python27 | Python 2.7.13 |
| python | Python 2.7.13 |
| node | Node.js 18.15.0。node 命令默认跟随最新 Node.js 版本,当前环境中已安装 Node.js 18.15.0、Node.js 16.13.1、Node.js 14.18.2、Node.js 12.16.1、Node.js 10.15.3,可在终端执行 n 命令进行切换 如n node/16.13.1。 |
| php80 | PHP 8.0.13 |
| php74 | PHP 7.4.26 |
| php | PHP 7.2.2。终端内默认的 PHP 版本为7.2.2,可在终端执行 ln 命令切换版本。例如执行 ln -sf /var/lang/php80/bin/php /usr/bin/php 以切换至 PHP 8.0。 |
| pip3 | pip 22.0.4 (python 3.7) |
| pip37 | pip 22.0.4 (python 3.7) |
| pip36 | pip 21.3.1 (python 3.6) |
| pip | pip 20.3.4 (python 2.7) |
| npm | 8.1.2 |
| composer | 2.2.9 |
十一、常用工具
| 工具 | 版本 |
| yarn | 1.22.18 |
| wget | 1.14 |
| zip、unzip | 6 |
| Git | 2.24.1 |
| zsh | 5.0.2 |
| dash | 0.5.10.2 |
| make | 3.82 |
| jupyter | 4.6.3 |
| pylint | 1.9.5 |
| Serverless Cloud Framework | 3.2.1 |
十二、运行环境
| 运行环境 | 版本 |
| Node.js | 16.13、14.18、12.16、10.15 |
| Python | 3.7、3.6、2.7 |
| PHP | 8.0、7.4、7.2、5.6 |
十三、扩展
| 扩展 | 版本 |
| Python | 2020.11.371526539 |
| Jupyter | 2020.12.411183155 |
| PHP-IntelliSense | 2.3.14 |
| ESLint | 2.1.13 |
| Prettier | 5.8.0 |
十四、配额限制
·IDE 为每个用户提供5GB的存储空间,超出将无法执行写入操作,请及时清理。请注意,删除函数不会清空 IDE 的存储空间,在备份工作空间更改后,请你手动进行“重置工作空间”操作。你也可以选择切换到旧版编辑器以规避此限制。
·为了保证良好的使用体验,不建议在多个浏览器页面中同时打开3个以上的函数。
十五、注意事项
在 IDE 中执行以下操作可能会带来数据泄露等安全隐患,如必须执行,请谨慎操作。
·安装 phpmyadmin、struts2 等高危开源组件。
十六、1. IDE 加载异常如何处理?
如果遇到工作空间异常无法正常启动等情况,你可以单击 IDE 右下角“使用遇到问题”,在展开的页面中单击“重置工作空间”将工作空间初始化。
十七、2. 函数在终端中执行成功,点击测试执行失败?
在线 IDE 的终端和 SCF 的云上运行环境相互独立,单击“测试”后返回的运行结果即为函数真实的执行结果。
十八、3. 在终端中执行命令,结果不符合预期?
如果执行依赖包安装相关命令,请确保在src目录下进行操作。
在使用命令前,请先查看命令的版本,默认支持的命令列表请参见 常用命令。