# ------------------------------------
#   If you need English case, you can refer to [s_en.yaml] file
# ------------------------------------
#   欢迎您使用阿里云函数计算 FC 组件进行项目开发
#   组件仓库地址：https://github.com/devsapp/fc
#   组件帮助文档：https://www.serverless-devs.com/fc/readme
#   Yaml参考文档：https://www.serverless-devs.com/fc/yaml/readme
#   关于：
#      - Serverless Devs和FC组件的关系、如何声明/部署多个函数、超过50M的代码包如何部署
#      - 关于.fcignore使用方法、工具中.s目录是做什么、函数进行build操作之后如何处理build的产物
#   等问题，可以参考文档：https://www.serverless-devs.com/fc/tips
#   关于如何做CICD等问题，可以参考：https://www.serverless-devs.com/serverless-devs/cicd
#   关于如何进行环境划分等问题，可以参考：https://www.serverless-devs.com/serverless-devs/extend
#   更多函数计算案例，可参考：https://github.com/devsapp/awesome/
#   有问题快来钉钉群问一下吧：33947367
# ------------------------------------
edition: 1.0.0
name: hello-world-app
# access 是当前应用所需要的密钥信息配置：
# 密钥配置可以参考：https://www.serverless-devs.com/serverless-devs/command/config
# 密钥使用顺序可以参考：https://www.serverless-devs.com/serverless-devs/tool#密钥使用顺序与规范
access: default

vars: # 全局变量
  region: cn-hangzhou
  service:
    name: fc-example
    description: 'hello world by serverless devs'

services:
  helloworld: # 业务名称/模块名称
    # 如果只想针对 helloworld 下面的业务进行相关操作，可以在命令行中加上 helloworld，例如：
    # 只对helloworld进行构建：s helloworld build
    # 如果不带有 helloworld ，而是直接执行 s build，工具则会对当前Yaml下，所有和 helloworld 平级的业务模块（如有其他平级的模块，例如下面注释的next-function），按照一定顺序进行 build 操作
    component: fc # 组件名称，Serverless Devs 工具本身类似于一种游戏机，不具备具体的业务能力，组件类似于游戏卡，用户通过向游戏机中插入不同的游戏卡实现不同的功能，即通过使用不同的组件实现不同的具体业务能力
    actions: # 自定义执行逻辑，关于actions 的使用，可以参考：https://www.serverless-devs.com/serverless-devs/yaml#行为描述
      pre-deploy: # 在deploy之前运行
        - run: mvn package
          path: ./
    #        - component: fc build --use-docker --dockerfile ./code/Dockerfile  # 要运行的组件，格式为【component: 组件名 命令 参数】（可以通过s cli registry search --type Component 获取组件列表）
    #        - run: docker build xxx          # 要执行的系统命令，类似于一种钩子的形式
    #          path: ./src                    # 执行系统命令/钩子的路径
    #        - plugin: myplugin               # 与运行的插件 （可以通过s cli registry search --type Plugin 获取组件列表）
    #          args:                          # 插件的参数信息
    #            testKey: testValue
    #      post-deploy: # 在deploy之后运行
    #        - component: fc versions publish # 要运行的命令行
    props:
      region: ${vars.region} # 关于变量的使用方法，可以参考：https://www.serverless-devs.com/serverless-devs/yaml#变量赋值
      service: ${vars.service}
      function:
        name: java11-blank-stream-event
        description: 'hello world by serverless devs'
        runtime: java11
        codeUri: ./target
        handler: example.StreamHandler::handleRequest
        memorySize: 128
        timeout: 60
        # initializationTimeout: 60
        # initializer: example.App::initialize
