gpt4 book ai didi

javascript - 从 gulp 文件运行命令

转载 作者:行者123 更新时间:2023-12-02 22:47:40 26 4
gpt4 key购买 nike

我想根据 gulp 命令传递的参数从 gulp 文件运行炮兵命令。

运行命令:

gulp runner --serviceName employeeServices --scenario create-employee-details --env staging

这应该执行如下命令,该命令在 gulp 任务 (gulpfile.js) 中形成

artillery run -o report.json ./services/employeeServices/scenarios/create-employee-details.yml --config ./services/employeeServices/config.yml --overrides "$(cat ./services/employeeServices/overrides.slos.json)" -e staging

我收到以下错误。尽管 JSON 对于 overrides.slos.json 有效

The values of --overrides does not seem to be valid JSON

gulpfile.js 代码:

const gulp = require('gulp');
const yargs = require('yargs');
const path = require('path');
const cp= require('child_process');

gulp.task('runner', async (done) => {
let execute;
if (argv.serviceName === undefined) {
console.log('<------FAILED: Mandatory to specify Service name for performance testing------>');
} else {
let scenarioPath = './services/' + argv.serviceName + '/scenarios/' + argv.scenario + '.yml';
let configPath = ' --config ./services/' + argv.serviceName + '/config.yml';
let overridesPath = ' --overrides "$(cat ./services/' + argv.serviceName + '/overrides.slos.json)"';
let env = ' -e ' + argv.env;
execute = 'artillery run -o report.json ' + scenarioPath + configPath + overridesPath + env;
}

cp.execSync(execute,{shell:true}, (error, stdout, stderr) => {
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
if (error !== null) {
console.log(`exec error: ${error}`);
}
})

await done();
})

期望的输出:它应该运行上面指定的命令

最佳答案

尝试用此替换您的“overridesPath”

 let overridesPath = ' --overrides ./services/' + argv.serviceName + '/overrides.slos.json';

关于javascript - 从 gulp 文件运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58322330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com