【问题标题】:How to deploy to Elastic Beanstalk using the CLI when you have Private NPM Packages?当您拥有私有 NPM 包时,如何使用 CLI 部署到 Elastic Beanstalk?
【发布时间】:2020-10-06 05:27:33
【问题描述】:

我们通过 NPM 使用几个命名空间的私有包。

当我们尝试像往常一样使用 EB CLI (eb deploy) 进行部署时,一切都很好,直到 EB 尝试运行 npm i。这会导致部署失败,因为 EB 无权访问我们的 NPM 组织的包。

我发现 4 多年前的 related questions 的解决方案似乎不起作用。

我们采用了在本地手动“压缩”文件并将其上传到 GUI 中的解决方法。

我们如何允许我们的 Elastic Beanstalk 实例通过 eb deploy 命令与我们的私有包一起部署?

【问题讨论】:

  • 我觉得您链接的旧答案几乎是正确的,但使用的路径是 (/tmp/.npmrc) 对我来说感觉不对。 docs for npmrc 指定 /etc/npmrc 可能会更好。也可能值得尝试将秘密直接放在 ebextension 中(即没有 NPM_TOKEN 变量),以防替换不再正常工作。
  • 试一试
  • 似乎无法解决问题。
  • 我想知道这个其他问题是否相关。请参阅这两页:aws.amazon.com/premiumsupport/knowledge-center/…medium.com/quick-code/…
  • 由 stefansundin 链接的 AWS 支持页面提到以下内容:“在应用程序源包的根目录中创建一个名为 .npmrc 的文件。”你试过@MattWeber 吗?您尝试将 NPM 注册表凭据放在哪里?

标签: amazon-web-services npm amazon-elastic-beanstalk


【解决方案1】:

npm docs 很好地覆盖了它。问题是,由于某种原因,环境变量 NPM_TOKEN 没有被读取并且它失败了。我们通过将只读的 IP 白名单令牌硬编码到 .npmrc 文件中来修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-19
    • 2016-04-16
    • 2019-02-14
    • 2015-09-18
    • 2021-08-28
    • 2016-03-09
    • 2018-05-16
    • 1970-01-01
    相关资源
    最近更新 更多