【发布时间】:2020-06-17 12:00:04
【问题描述】:
我在一家部署 Node.js 和 C# AWS lambda 函数的公司工作。我在 Windows 机器上工作。我们的 azure pipeline 构建环境也是 windows 环境。
我编写了一个 powershell 脚本,将 lambda 函数和层打包为 zip 文件并将它们发布到 AWS。我的问题是部署 node.js lambda 层。
当我使用 Compress-Archive powershell 命令压缩层文件时,它会在文件路径中保留窗口 \。当它在 AWS 中解压缩时,文件路径中会出现 /。因此,对于 node.js 运行时文件结构不正确,并且我使用 layer 的 lambda 函数找不到所需的模块。
我在本地机器上完成这项工作的一种方法是安装 7zip 实用程序来压缩文件。似乎它使用 / 文件路径压缩文件,并且在使用 node.js 运行时为 lambda 层解压缩时可以正常工作。但是当我在 azure 管道中使用这个 powershell 脚本时,我无法在构建服务器上安装 7zip 实用程序。
有没有一种方法可以在文件路径中使用/ 而不是\ 压缩文件,而无需使用第三方实用程序?
【问题讨论】:
标签: node.js windows powershell aws-lambda azure-devops