前言

通过本组件,您可以简单快速的将Hexo项目部署到线上。

使用

最简使用方法

模版拉取:

  1. s init hexo

其中Yaml的默认配置为:

  1. HexoComponent:
  2. Component: hexo
  3. Provider: alibaba
  4. Extends:
  5. deploy:
  6. - Hook: npm install --production
  7. Path: ./src
  8. Pre: true
  9. Properties:
  10. Region: 'cn-hangzhou'
  11. CodeUri: './src'

系统默认bootstrap内容:

  1. #!/usr/bin/env bash
  2. export PORT=9000
  3. npm run server -p $PORT -s

完整Yaml示例

  1. HexoComponent:
  2. Component: hexo
  3. Provider: alibaba
  4. Extends:
  5. deploy:
  6. - Hook: npm install --production
  7. Path: ./src
  8. Pre: true
  9. Properties:
  10. Region: 'cn-hangzhou'
  11. # CodeUri: 本地路径
  12. # CodeUri:
  13. # Src: 本地路径
  14. # Exclude:
  15. # - path
  16. # Include:
  17. # - path
  18. # CodeUri:
  19. # Bucket: function code包的bucket name
  20. # Object: code zip包的object name
  21. CodeUri:
  22. Bucket: function code包的bucket name
  23. Src: 本地路径
  24. Exclude:
  25. - path
  26. Include:
  27. - path
  28. Environment:
  29. - Key: Environmentkey
  30. Value: EnvironmentValue
  31. Log:
  32. LogStore: loghub中的logstore名称
  33. Project: loghub中的project名称
  34. Domains:
  35. - Domain: AUTO/或者您的网址
  36. Protocol:
  37. - HTTP
  38. - HTTPS
  39. CertConfig:
  40. CertName: 'CertName'
  41. PrivateKey: './certificates/privateKey.pem'
  42. Certificate: './certificates/certificate.pem'
  43. Routes:
  44. - Path: '/a'
  45. Qualifier: Prod # 版本(可选)
  46. - Path: '/a'
  47. Qualifier: Prod # 版本(可选)
  48. Detail:
  49. Service:
  50. Name: 服务名
  51. Description: 服务描述
  52. InternetAccess: 访问公网
  53. Role: 授予函数计算所需权限的RAM role
  54. Vpc:
  55. SecurityGroupId: 安全组
  56. VSwitchIds:
  57. - 一个或多个VSwitch ID
  58. VpcId: VPC ID
  59. Nas:
  60. Use--package-type pip oss2 pymysqlrId: userID
  61. GroupId: groupID
  62. MountPoints:
  63. - ServerAddr: adasdasdas
  64. MountDir: ./ssssss
  65. Tags:
  66. - Key: 标签名
  67. Value: 标签值
  68. - Key: 标签名
  69. Value: 标签值
  70. Function: 函数名
  71. Name: 函数名
  72. Description: 函数描述
  73. MemorySize: function的内存规格
  74. Timeout: function运行的超时时间
  75. Triggers:
  76. - Name: TriggerNameHttp
  77. Parameters:
  78. AuthType: ANONYMOUS
  79. InvocationRole: 使用一个 RAM 角色的 ARN 为函数指定执行角色
  80. Methods:
  81. - GET
  82. - POST
  83. - PUT
  84. Domains:
  85. - Domain: AUTO/或者您的网址
  86. Protocol:
  87. - HTTP
  88. - HTTPS
  89. CertConfig:
  90. CertName: 'CertName'
  91. PrivateKey: './certificates/privateKey.pem'
  92. Certificate: './certificates/certificate.pem'
  93. Routes:
  94. - Path: '/a'
  95. Qualifier: Prod # 版本(可选)
  96. - Path: '/a'
  97. Qualifier: Prod # 版本(可选)

详细使用方法

参数名 必填 类型 参数描述
Region true Enum 地域
Log false Struct log配置,function产生的log会写入这里配置的logstore
CodeUri false(默认为./) String/Struct 代码位置
Environment false Struct 环境变量
Domains false Struct/List 自定义域名配置
Detail false Struct 详细配置

Region

参数取值:cn-beijing, cn-hangzhou, cn-shanghai, cn-qingdao, cn-zhangjiakou, cn-huhehaote, cn-shenzhen, cn-chengdu, cn-hongkong, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-5, ap-northeast-1, eu-central-1, eu-west-1, us-west-1, us-east-1, ap-south-1, `cn-zhangjiakou-na62-a01

Log

参数名 必填 类型 参数描述
LogStore false String loghub中的logstore名称
Project false String loghub中的project名称

CodeUri

  • 直接填写路径
    | 参数名 | 必填 | 类型 | 参数描述 | | —- | —- | —- | —- | | Bucket | false | String | function code包的bucket name | | Object | false | String | code zip包的object name | | Exclude | false | List | 除去路径 | | Include | false | List | 包括路径 |
参数名 必填 类型 参数描述
Bucket false String function code包的bucket name
Src false String 本地路径
Exclude false List 除去路径
Include false List 包括路径

Domains

参数名 必填 类型 参数描述
Domain false String 域名
参数名 必填 类型 参数描述
Domain false String 域名
Protocol false List(HTTP,HTTPS) 协议
CertConfig false Struct 域名证书
Routes false Struct 路径配置

CertConfig
参数名 必填 类型 参数描述
CertName false String 名称
PrivateKey false String 表示私钥
Certificate false String 表示证书

Routes
参数名 必填 类型 参数描述
Path false String 路径
Qualifier false String service 版本

Detail

参数名 必填 类型 参数描述
Service false Struct 服务
Function false Struct 函数
Bootstrap false Struct 启动配置

Service
参数名 必填 类型 参数描述
Name false String service名称
Description false String service的简短描述
InternetAccess false Boolean 设为true让function可以访问公网
Role false String 授予函数计算所需权限的RAM role, 使用场景包含 1. 把 function产生的 log 发送到用户的 logstore 中 2. 为function 在执行中访问其它云资源生成 token
Vpc false Struct vpc配置, 配置后function可以访问指定VPC
Nas false Struct NAS配置, 配置后function可以访问指定NAS
Tag false List 标签

Vpc
参数名 必填 类型 参数描述
SecurityGroupId false String 安全组ID
VSwitchIds false String 一个或多个VSwitch ID
VpcId false String VPC ID

Nas
参数名 必填 类型 参数描述
UserId false String userID
GroupId false String groupID
MountPoints false List 挂载点

其中MountPoints为:

参数名 必填 类型 参数描述
ServerAddr false String NAS 服务器地址
MountDir false String 本地挂载目录

Tag
参数名 必填 类型 参数描述
Key false String 标签名
Value false String 标签值

Function
参数名 必填 类型 参数描述
Name false String function名称
Description false String function的简短描述
MemorySize false String function的内存规格
Timeout false String function运行的超时时间
Triggers false List 触发器

Triggers
参数名 必填 类型 参数描述
Name true String 触发器名称
Parameters true Struct 参数内容

其中Parameters为:

参数名 必填 类型 参数描述
AuthType true List 鉴权类型,可选值:ANONYMOUS、FUNCTION
Methods true List HTTP 触发器支持的访问方法
Domains false String 参数内容
Enable false String 表示是否启用该触发器。
InvocationRole false String 使用一个 RAM 角色的 ARN 为函数指定执行角色,事件源会使用该角色触发函数执行,请确保该角色有调用函数的权限
Qualifier false String service 版本

AuthType枚举:ANONYMOUSFUNCTION
Methods枚举:GETPOSTPUTDELETEHEAD
Domains类型为:

参数名 必填 类型 参数描述
Domain false String 域名
参数名 必填 类型 参数描述
Domain false String 域名
Protocol false List(HTTP,HTTPS) 协议
CertConfig false Struct 域名证书
Routes false Struct 路径配置

Bootstrap
参数名 必填 类型 参数描述
Port false Number 启动端口
Start false String 启动指令