node.js - 带有 Codebuild 的 CICD 管道不允许 Node JS 应用程序在测试中创建新目录
问题描述
我正在构建一个 Node JS 应用程序。我正在使用 AWS Codepipeline 为我的应用程序构建 CICD 管道,并且 AWS Codebuild 将这两者集成在一起。
但是我现在在运行涉及创建新目录或文件的测试时遇到问题,因为应用程序不会在 Codebuild 中创建新目录或文件,因为测试是在 Codebuild 中运行的。我的测试正在调用以下函数来创建新目录。
const createDirectoryForFileIfNotExists = (directory) => {
if (! directory) {
return;
}
let segments = directory.split("/");
if (segments.length < 1) {
return;
}
let checkDirectory = "";
for (let i= 0; i < segments.length; i++) {
if (checkDirectory == "") {
checkDirectory = segments[i];
} else {
checkDirectory = checkDirectory + "/" + segments[i];
}
if (!fs.existsSync(checkDirectory)) {
fs.mkdirSync(checkDirectory);
}
}
}
但是当测试在 Codebuild 中运行时,我收到以下错误。
ENOENT: no such file or directory, mkdir
但是当我在服务器上或本地运行测试时,这完全没问题。传递给函数的参数是this。
/codebuild/output/src120020864/src/test_storage/payment-proof
我该如何解决这个问题?
解决方案
推荐阅读
- kubernetes - 掌舵升级时出现集群类型错误
- pandas - 在同一列中查找具有非空值的行
- php - 您提供的来源不在收费状态 Stripe
- php - 计算 1 到 1000 范围内出现了多少个数字 5
- python - 每天在网页上生成加密文件
- python - 如何使用 pyspark 从数据框的日期列中提取年份
- assembly - LC3程序电源功能?
- angular - 在 Angular 中确定“组件值的变化”是否是检测到的变化的结果
- visual-studio-2019 - 为不同的发布文件分配不同的 sql 脚本
- ios - SwiftUI MVVM 发布的 var 未在不同视图之间更新