У меня есть задача gulp, определенная как,
gulp.task("CI-Build", function (callback) {
return runSequence(
"Build-And-Publish-Solution",
callback);
});
gulp.task("Build-And-Publish-Solution", function (callback) {
var msBuild = new msbuild(callback);
msBuild.solutionName = config.solutionName + '.sln';
var overrideParams = [];
overrideParams.push('/p:Configuration=' + config.buildConfiguration);
overrideParams.push('/p:DeployOnBuild=true');
overrideParams.push('/p:DeployDefaultTarget=WebPublish');
overrideParams.push('/p:WebPublishMethod=FileSystem');
overrideParams.push('/p:DeleteExistingFiles=false');
overrideParams.push('/p:publishUrl=' + config.websiteRoot);
overrideParams.push('/m');
overrideParams.push('/restore');
msBuild.config('overrideParams', overrideParams);
msBuild.config('version', config.buildToolsVersion);
msBuild.build();
});
, которая затем вызывается из конвейера Jenkins с помощью команды:
bat "npm run gulp CI-Build"
Но, несмотря на то, что MSBuild возвращает ошибку, этапы конвейера помечен как успешный, и конвейер продолжается. Как я могу гарантировать, что при сбое задачи Gulp произойдет сбой Jenkins?
Обратите внимание, что в задаче «CI Build» есть и другие задачи, которые я пропустил для краткости - это решение Sitecore Helix