1 Star 0 Fork 0

Serverless Devs Awesome / koa-alibaba-component

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

阿里云 Koa 项目部署文档

前言

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

使用

最简使用方法

模版拉取:

s init koa -p alibaba

其中Yaml的默认配置为:

KoaComponent:
  Component: koa
  Provider: alibaba
  Extends:
    deploy:
      - Hook: npm install --production
        Path: ./src
        Pre: true
  Properties:
    Region: 'cn-hangzhou'
    CodeUri: './src'
    App: app.js

系统默认bootstrap内容:

#!/usr/bin/env bash

export DEFAULTAPP=app.js
node $DEFAULTAPP`

完整Yaml示例

KoaComponent:
  Component: koa
  Provider: alibaba
  Extends:
  deploy:
    - Hook: npm install --production
      Path: ./src
      Pre: true
  Properties:
    Region: 'cn-hangzhou'
    #      CodeUri: 本地路径
    #      CodeUri:
    #        Src: 本地路径
    #        Exclude:
    #          - path
    #        Include:
    #          - path
    #      CodeUri:
    #        Bucket: function code包的bucket name
    #        Object: code zip包的object name
    App: app.js
    CodeUri:
      Bucket: function code包的bucket name
      Src: 本地路径
      Exclude:
        - path
      Include:
        - path
    Environment:
      - Key: Environmentkey
        Value: EnvironmentValue
    Log:
      LogStore: loghub中的logstore名称
      Project: loghub中的project名称
    Detail:
      Service:
        Name: 服务名
        Description: 服务描述
        InternetAccess: 访问公网
        Role: 授予函数计算所需权限的RAM role
        Vpc:
          SecurityGroupId: 安全组
          VSwitchIds:
            - 一个或多个VSwitch ID
          VpcId: VPC ID
        Nas:
          Use--package-type pip oss2 pymysqlrId: userID
          GroupId: groupID
          MountPoints:
            - ServerAddr: adasdasdas
              MountDir: ./ssssss
        Tags:
          - Key: 标签名
            Value: 标签值
          - Key: 标签名
            Value: 标签值
      Function: 函数名
        Name: 函数名
        Description: 函数描述
        MemorySize: function的内存规格
        Timeout: function运行的超时时间
        Triggers:
          - Name: TriggerNameHttp
            Parameters:
              AuthType: ANONYMOUS
              InvocationRole: 使用一个 RAM 角色的 ARN 为函数指定执行角色
              Methods:
                - GET
                - POST
                - PUT
              Domains:
                - Domain: AUTO/或者您的网址
                  Protocol:
                    - HTTP
                    - HTTPS
                  CertConfig:
                    CertName: 'CertName'
                    PrivateKey: './certificates/privateKey.pem'
                    Certificate: './certificates/certificate.pem'
                  Routes:
                    - Path: '/a'
                      Qualifier: Prod # 版本(可选)
                    - Path: '/a'
                      Qualifier: Prod # 版本(可选)
       Bootstrap:
          App: app.js
          Start: node run app.js
          Path: ./src/bootstrap

详细使用方法

参数名 必填 类型 参数描述
Region true Enum 地域
Log false String/Struct log配置,function产生的log会写入这里配置的logstore
CodeUri false(默认为./) String/Struct 代码位置
App false String 应用
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

Log

如果是String类型,可以直接写Auto,如果是Struct类型:

参数名 必填 类型 参数描述
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

如果是String类型,可以直接写Auto,如果是Struct类型:

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

如果是String类型,可以直接写Auto,如果是Struct类型:

| 参数名 |  必填|  类型|  参数描述 | 
| --- |  --- |  --- |  --- | 
| Type | true | String | 只可填写Auto |
| FcDir | false | String | 函数计算目录 |
| LocalDir | false | List<String>/String  | 本地目录 |
| 参数名 |  必填|  类型|  参数描述 | 
| --- |  --- |  --- |  --- | 
| UserId | false | String | userID |
| GroupId | false | String | groupID |
| MountPoints | false | <Struct>List | 挂载点 |

其中MountPoints为:

| 参数名 |  必填|  类型|  参数描述 | 
| --- |  --- |  --- |  --- | 
| Alias | false | String |  针对组件生效的别名(和线上资源无关) |
| NasAddr | false | String |  NAS 服务器地址 |
| NasDir | false | String | NAS目录 |
| FcDir | false | String | 函数计算目录 |
| LocalDir | 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
参数名 必填 类型 参数描述
App false String 应用
Start false String 启动指令
Path false String Bootstrap路径
MIT License Copyright (c) 2020 Serverless Devs Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

阿里云 Koa 组件 展开 收起
TypeScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
TypeScript
1
https://gitee.com/serverless-devs-awesome/koa-alibaba.git
git@gitee.com:serverless-devs-awesome/koa-alibaba.git
serverless-devs-awesome
koa-alibaba
koa-alibaba-component
master

搜索帮助

14c37bed 8189591 565d56ea 8189591