Skip to content

Commit 55efd97

Browse files
authored
Merge pull request #21 from devsapp/new_spec_v2
update readme
2 parents 4b6f842 + 3484c71 commit 55efd97

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+952
-889
lines changed

example/todolist-app/README.md

Lines changed: 50 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,48 @@
1-
# TodoList应用案例
1+
# Todolist 案例
22

3-
一款基于Node.JS的网页TodoList应用。
3+
> 快速部署和体验Serverless架构下的 TodoList 项目
44
5-
- 基础介绍:
6-
- 框架:Express
7-
- 运行时:Node.js运行时 (当然,也可以选择Custom运行时,可以参考[Express的Custom案例](https://github.com/devsapp/start-web-framework/tree/master/web-framework/nodejs/express/src)
8-
- 使用流程
9-
- 初始化项目:`s init todolist-app`
10-
- 进入项目:`cd todolist-app`
11-
- 部署项目:`s deploy`
5+
- [体验前准备](#体验前准备)
6+
- [代码与预览](#代码与预览)
7+
- [快速部署和体验](#快速部署和体验)
8+
- [在线快速体验](#在线快速体验)
9+
- [在本地部署体验](#在本地部署体验)
10+
- [项目使用注意事项](#项目使用注意事项)
11+
- [操作介绍](#操作介绍)
12+
13+
## 体验前准备
14+
15+
该应用案例,需要您开通[阿里云函数计算](https://fcnext.console.aliyun.com/) 产品;并建议您当前的账号有一下权限存在`FCDefaultRole`
16+
17+
## 代码与预览
18+
19+
- [:octocat: 源代码](https://github.com/devsapp/start-web-framework/tree/master/web-framework/example/todolist-app/src)
20+
21+
## 快速部署和体验
22+
### 在线快速体验
23+
24+
- 通过阿里云 **Serverless 应用中心**: 可以点击 [【🚀 部署】](https://fcnext.console.aliyun.com/applications/create?template=todolist-app) ,按照引导填入参数,快速进行部署和体验。
25+
26+
### 在本地部署体验
27+
28+
1. 下载安装 Serverless Devs:`npm install @serverless-devs/s`
29+
> 详细文档可以参考 [Serverless Devs 安装文档](https://github.com/Serverless-Devs/Serverless-Devs/blob/master/docs/zh/install.md)
30+
2. 配置密钥信息:`s config add`
31+
> 详细文档可以参考 [阿里云密钥配置文档](https://github.com/devsapp/fc/blob/main/docs/zh/config.md)
32+
3. 初始化项目:`s init todolist-app -d todolist-app`
33+
4. 进入项目并部署:`cd todolist-app && s deploy`
34+
35+
> 在本地使用该项目时,不仅可以部署,还可以进行更多的操作,例如查看日志,查看指标,进行多种模式的调试等,这些操作详情可以参考[函数计算组件命令文档](https://github.com/devsapp/fc#%E6%96%87%E6%A1%A3%E7%9B%B8%E5%85%B3) ;
36+
37+
## 项目使用注意事项
38+
39+
1. 项目Yaml中,声明了`actions`,其对应的命令为`npm install --production`,如果在使用项目时,遇到类似找不到`npm`命令的情况,请根据自身电脑关于`nodejs``nmp`的配置对此出进行修改,或者手动进行依赖安装,并注释掉这`actions`部分代码;
40+
2. 目前函数计算支持的项目代码包大小为100M,如果一个完整的项目依赖包过大,可以按照以下方法进行优化和处理:
41+
- 将部分静态资源等,放在对象存储中,以降低代码包的体积;
42+
-`nasConfig` 配置为 `auto`,然后基于 nas 指令将大文件(可能是训练集/依赖包)传输到 NAS 指定位置,然后配置相应的环境变量到 `s.yml` 中的函数配置中;
43+
- 将非 custom-container 的函数转换成 custom-container,这需要对代码进行一定的改造,并新增 dockerfile,然后创建这个函数(此方式冷启动时间相对其他 runtime 会有一点点的延长);
44+
45+
## 操作介绍
1246

1347
更多使用内容:
1448
- [本地构建](#本地构建)
@@ -296,3 +330,10 @@ jobs:
296330
### 删除
297331

298332
最后,我们可以通过 `s remove service` 指令来删除上述部署的资源。
333+
334+
335+
-------
336+
337+
> - Serverless Devs 项目:https://www.github.com/serverless-devs/serverless-devs
338+
> - Serverless Devs 文档:https://www.github.com/serverless-devs/docs
339+
> - Serverless Devs 钉钉交流群:33947367

example/todolist-app/publish.yaml

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Type: Application
22
Name: todolist-app
3-
Version: 1.1.17
3+
Version: 1.1.18
44
Provider:
55
- 阿里云
66
Description: 一款基于Node.JS的网页TodoList应用
@@ -18,3 +18,46 @@ Service:
1818
- 创建服务
1919
- 删除服务
2020
Runtime: Node.JS
21+
Parameters:
22+
type: object
23+
additionalProperties: false # 不允许增加其他属性
24+
required: # 必填项
25+
- region
26+
- serviceName
27+
- functionName
28+
properties:
29+
region:
30+
title: 地域
31+
type: string
32+
default: cn-hangzhou
33+
description: 创建应用所在的地区
34+
enum:
35+
- cn-beijing
36+
- cn-hangzhou
37+
- cn-shanghai
38+
- cn-qingdao
39+
- cn-zhangjiakou
40+
- cn-huhehaote
41+
- cn-shenzhen
42+
- cn-chengdu
43+
- cn-hongkong
44+
- ap-southeast-1
45+
- ap-southeast-2
46+
- ap-southeast-3
47+
- ap-southeast-5
48+
- ap-northeast-1
49+
- eu-central-1
50+
- eu-west-1
51+
- us-west-1
52+
- us-east-1
53+
- ap-south-1
54+
serviceName:
55+
title: 服务名
56+
type: string
57+
default: web-framework
58+
description: 应用所属的函数计算服务
59+
functionName:
60+
title: 函数名
61+
type: string
62+
default: todolist
63+
description: 应用的函数名称

example/todolist-app/src/README.md

Lines changed: 50 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,48 @@
1-
# TodoList应用案例
1+
# Todolist 案例
22

3-
一款基于Node.JS的网页TodoList应用。
3+
> 快速部署和体验Serverless架构下的 TodoList 项目
44
5-
- 基础介绍:
6-
- 框架:Express
7-
- 运行时:Node.js运行时 (当然,也可以选择Custom运行时,可以参考[Express的Custom案例](https://github.com/devsapp/start-web-framework/tree/master/web-framework/nodejs/express/src)
8-
- 使用流程
9-
- 初始化项目:`s init todolist-app`
10-
- 进入项目:`cd todolist-app`
11-
- 部署项目:`s deploy`
5+
- [体验前准备](#体验前准备)
6+
- [代码与预览](#代码与预览)
7+
- [快速部署和体验](#快速部署和体验)
8+
- [在线快速体验](#在线快速体验)
9+
- [在本地部署体验](#在本地部署体验)
10+
- [项目使用注意事项](#项目使用注意事项)
11+
- [操作介绍](#操作介绍)
12+
13+
## 体验前准备
14+
15+
该应用案例,需要您开通[阿里云函数计算](https://fcnext.console.aliyun.com/) 产品;并建议您当前的账号有一下权限存在`FCDefaultRole`
16+
17+
## 代码与预览
18+
19+
- [:octocat: 源代码](https://github.com/devsapp/start-web-framework/tree/master/web-framework/example/todolist-app/src)
20+
21+
## 快速部署和体验
22+
### 在线快速体验
23+
24+
- 通过阿里云 **Serverless 应用中心**: 可以点击 [【🚀 部署】](https://fcnext.console.aliyun.com/applications/create?template=todolist-app) ,按照引导填入参数,快速进行部署和体验。
25+
26+
### 在本地部署体验
27+
28+
1. 下载安装 Serverless Devs:`npm install @serverless-devs/s`
29+
> 详细文档可以参考 [Serverless Devs 安装文档](https://github.com/Serverless-Devs/Serverless-Devs/blob/master/docs/zh/install.md)
30+
2. 配置密钥信息:`s config add`
31+
> 详细文档可以参考 [阿里云密钥配置文档](https://github.com/devsapp/fc/blob/main/docs/zh/config.md)
32+
3. 初始化项目:`s init todolist-app -d todolist-app`
33+
4. 进入项目并部署:`cd todolist-app && s deploy`
34+
35+
> 在本地使用该项目时,不仅可以部署,还可以进行更多的操作,例如查看日志,查看指标,进行多种模式的调试等,这些操作详情可以参考[函数计算组件命令文档](https://github.com/devsapp/fc#%E6%96%87%E6%A1%A3%E7%9B%B8%E5%85%B3) ;
36+
37+
## 项目使用注意事项
38+
39+
1. 项目Yaml中,声明了`actions`,其对应的命令为`npm install --production`,如果在使用项目时,遇到类似找不到`npm`命令的情况,请根据自身电脑关于`nodejs``nmp`的配置对此出进行修改,或者手动进行依赖安装,并注释掉这`actions`部分代码;
40+
2. 目前函数计算支持的项目代码包大小为100M,如果一个完整的项目依赖包过大,可以按照以下方法进行优化和处理:
41+
- 将部分静态资源等,放在对象存储中,以降低代码包的体积;
42+
-`nasConfig` 配置为 `auto`,然后基于 nas 指令将大文件(可能是训练集/依赖包)传输到 NAS 指定位置,然后配置相应的环境变量到 `s.yml` 中的函数配置中;
43+
- 将非 custom-container 的函数转换成 custom-container,这需要对代码进行一定的改造,并新增 dockerfile,然后创建这个函数(此方式冷启动时间相对其他 runtime 会有一点点的延长);
44+
45+
## 操作介绍
1246

1347
更多使用内容:
1448
- [本地构建](#本地构建)
@@ -296,3 +330,10 @@ jobs:
296330
### 删除
297331

298332
最后,我们可以通过 `s remove service` 指令来删除上述部署的资源。
333+
334+
335+
-------
336+
337+
> - Serverless Devs 项目:https://www.github.com/serverless-devs/serverless-devs
338+
> - Serverless Devs 文档:https://www.github.com/serverless-devs/docs
339+
> - Serverless Devs 钉钉交流群:33947367

example/todolist-app/src/s.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ name: web-framework-app
1515
access: "{{ access }}"
1616

1717
vars: # 全局变量
18-
region: cn-beijing
18+
region: "{{ region }}"
1919
service:
20-
name: web-framework
20+
name: "{{ serviceName }}"
2121
description: 'Serverless Devs Web Framework Service'
2222

2323
services:
@@ -34,7 +34,7 @@ services:
3434
region: ${vars.region}
3535
service: ${vars.service}
3636
function:
37-
name: todoList
37+
name: "{{ functionName }}"
3838
description: todoList app
3939
runtime: nodejs12
4040
codeUri: './'

update.list

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,12 @@
11
web-framework/php/zblog
2-
web-framework/php/wordpress
2+
web-framework/php/ecshop
3+
web-framework/php/laravel
4+
web-framework/php/thinkphp
5+
web-framework/php/wordpress
6+
web-framework/python/flask
7+
web-framework/python/django
8+
web-framework/nodejs/koa
9+
web-framework/nodejs/egg
10+
web-framework/nodejs/express
11+
web-framework/nodejs/nuxt-ssr
12+
web-framework/example/todolist-app

web-framework/nodejs/egg/publish.yaml

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Type: Application
22
Name: start-egg
33
Provider:
44
- 阿里云
5-
Version: 1.1.16
5+
Version: 1.1.17
66
Description: 快速部署一个Egg.js框架到阿里云函数计算
77
HomePage: https://github.com/devsapp/start-web-framework
88
Tags:
@@ -13,3 +13,46 @@ Service:
1313
函数计算:
1414
Authorities:
1515
- 管理员权限
16+
Parameters:
17+
type: object
18+
additionalProperties: false # 不允许增加其他属性
19+
required: # 必填项
20+
- region
21+
- serviceName
22+
- functionName
23+
properties:
24+
region:
25+
title: 地域
26+
type: string
27+
default: cn-hangzhou
28+
description: 创建应用所在的地区
29+
enum:
30+
- cn-beijing
31+
- cn-hangzhou
32+
- cn-shanghai
33+
- cn-qingdao
34+
- cn-zhangjiakou
35+
- cn-huhehaote
36+
- cn-shenzhen
37+
- cn-chengdu
38+
- cn-hongkong
39+
- ap-southeast-1
40+
- ap-southeast-2
41+
- ap-southeast-3
42+
- ap-southeast-5
43+
- ap-northeast-1
44+
- eu-central-1
45+
- eu-west-1
46+
- us-west-1
47+
- us-east-1
48+
- ap-south-1
49+
serviceName:
50+
title: 服务名
51+
type: string
52+
default: web-framework
53+
description: 应用所属的函数计算服务
54+
functionName:
55+
title: 函数名
56+
type: string
57+
default: egg
58+
description: 应用的函数名称

0 commit comments

Comments
 (0)