【问题标题】:Are dependencies included in the import/export in MongoDB Stitch?MongoDB Stitch 的导入/导出中是否包含依赖项?
【发布时间】:2020-03-16 04:45:28
【问题描述】:

我在今年早些时候尝试了 MongoDB Stitch,当时感觉它不像是成品(例如,apps cannot be renamed)。我再试一次,这次我很想看看如何使用 Jest (this also may not be straightforward) 为我的 Stitch 函数创建自动化测试。

我注意到函数部分有一个 DependenciesBeta 选项卡。在这里,可以将 NPM 模块压缩到一个 tarball 中,它们将在 Stitch JS 环境中可用。我想知道是否可以使用它来规避我在使用函数系统时遇到的导入困难 - 相反,我可以从函数到依赖项进行(未经测试的)轻量级调用,然后只测试依赖项。

但是,我希望能够使用控制台命令自动导入我的应用程序,以便在 CI 管道中自动部署。为此,导入/导出也需要包含依赖项,但the file-format docs 没有提及依赖项。作为应用导入的一部分,是否支持从控制台同步依赖项?

【问题讨论】:

    标签: mongodb mongodb-stitch


    【解决方案1】:

    作为应用导入的一部分,是否支持从控制台同步依赖项?

    是的,您可以使用 mongodb-stitch-cli (v1.10+) 导入依赖项。

    上传外部依赖:

    • 首先需要一个本地的node_modules 文件夹,其中至少包含一个Node.js 包。如果node_modules 文件夹不存在,npm install <package> 将自动创建它。

    • 接下来,您需要将它们打包到一个存档中,以便您可以将它们上传到 Stitch:

      tar -czf node_modules.tgz node_modules/
      

      其他支持的格式/扩展名是:.zip.tar.gz.tgz

    • 接下来您可以将存档放入the functions directory in the application file schema。即

      ├── functions/
      │   └── <function name>/
      │       ├── config.json
      │       └── source.js
      │   └── node_modules.tgz
      
    • 使用--include-dependencies执行导入命令,即:

      stitch-cli import --app-id <APP_ID> --path ./your_app --include-dependencies
      
      Creating draft for app...
      Draft created successfully...
      Importing app...
      Deploying app...
      Deploying app...
      Done.
      Importing hosting assets...
      Done.
      

    请注意,目前stitch-cli 还不支持导出依赖项。

    另请参阅Stitch: Upload External Dependencies 从 UI 上传。

    【讨论】:

    • 太好了,谢谢万!抱歉,我没有在文档中发现它 - 或者这可能是新增内容?
    • 有趣的是 zip 文件不能超过 10M - 我见过比这大得多的 Node 依赖树,但我认为它们压缩得很好。
    • 顺便说一句,由于您为 Mongo 工作,您可能会对我的 Dockerised Stitch Console 感兴趣 - 这是一种将控制台实用程序容器化的方法,供不想直接在主机上运行它的人使用。
    • 嗨@halfer,它还不完全在文档中。我发布的文档主要用于 UI 导入,但可能会添加一些信息。是的,它应该很好地压缩。谢谢我已为您的 GitHub 项目加注星标以供将来参考。
    猜你喜欢
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    相关资源
    最近更新 更多