You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过含第三方依赖的manifest.yml批量部署IBM Cloud Functions多动作

解决方案核心逻辑

OpenWhisk manifest 部署模式支持直接为每个动作指定预打包好的包含npm依赖的zip包,无需单独逐个部署,可保持所有动作归属同一自定义包的结构。

具体操作步骤

  • 为每个动作创建独立的工作目录,比如3个动作分别存放在./actions/test、./actions/test2、./actions/test3路径下
  • 每个目录下放入对应动作的入口代码文件(如index.js),在对应目录内执行npm install <所需依赖>,生成专属的package.json与node_modules文件夹
  • 分别对每个动作目录的内容打包:进入对应动作目录,执行zip -r ../<动作名>.zip ./*,注意zip包根目录需直接包含index.js、node_modules、package.json,不能嵌套外层动作目录
  • 修改manifest.yml配置,将每个action的function字段指向对应预打包的zip包,示例配置如下:
packages:
 stocks_package:
  version: 1.0
  license: Apache-2.0
  actions:
   test:
    function: ./actions/test.zip
    web-export: true
    runtime: nodejs:18 # 建议指定与本地开发一致的Node.js版本,避免依赖兼容问题
   test2:
    function: ./actions/test2.zip
    web-export: true
    runtime: nodejs:18
   test3: # 第三个API对应动作配置
    function: ./actions/test3.zip
    web-export: true
    runtime: nodejs:18
  apis:
   stocks-me:
    base:
      test:
        test:
          method: GET
          response: http
      test2:
        test2:
          method: GET
          response: http
      test3: # 第三个API路由配置
        test3:
          method: GET
          response: http
  • 在manifest.yml所在根目录执行统一部署命令即可:ibmcloud fn deploy --manifest manifest.yml,所有动作、API路由会批量部署完成,且全部归属stocks_package包。

注意事项

  • 打包前可执行npm install --production排除开发依赖,减少zip包体积,单动作zip包最大不可超过48MB
  • 若存在多动作共用的公共依赖与逻辑,可额外封装为自定义层复用,进一步减少重复打包的体积

内容的提问来源于stack exchange,提问作者Akash Gorai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 02:27:02