Gulp-octo忽略了我对输出目录的选择

时间:2017-03-07 17:56:11

标签: gulp octopus-deploy

我正在尝试使用Gulp和Gulp-Octo为angular-cli项目构建一个Octopus Deploy包:

const gulp = require("gulp"),
    octopus = require("@octopusdeploy/gulp-octo"),
    version = require("./package.json").version;

gulp.task("octopack",
    ["build-prod"],
    () => gulp.src("dist/*")
        .pipe(octopus.pack(
            "zip", // octopackjs does not support nupkg format yet
            {
                id: "myprojectid",
                version: `${version}.${commandLineOptions.buildnumber}`
            }))
        .pipe(gulp.dest('./octopus'))
);

这会创建一个包含正确内容和版本号的包,但是它总是进入当前目录(与gulpfile.js一起),而不是我在gulp.dest()中指定的目录。

我在调用gulp.dest时尝试了以下所有变体,结果相同:

  • ./octopus
  • ./octopus/
  • octopus/
  • octopus
  • path.join(__dirname, 'octopus')

我是否误解了gulp.dest()的工作原理,或octopus.pack()做了一些奇怪的事情?

(注意:如果我完全省略gulp.dest(),则不会创建任何zip文件。)

1 个答案:

答案 0 :(得分:1)

这是var path = require('path'); gulp.task("default", () => gulp.src("dist/*") .pipe(octopus.pack( "zip", // octopackjs does not support nupkg format yet { id: "myprojectid", version: `${version}.${commandLineOptions.buildnumber}` })) .on('data', (f) => { f.path = path.join(f.base, f.path) }) .pipe(gulp.dest('./octopus')) ); 中的错误。在this line中,他们设置了生成的存档的路径。不幸的是,他们只使用存档的文件名而不是完整路径(what they're supposed to do),因此文件总是相对于当前工作目录编写。

当我有机会时,我可能会向他们发送拉取请求,因为这是一个简单的解决方法。

与此同时,您可以使用以下解决方法:

html += "<a href='../InspectionView.aspx?inspectionID='" + inspectionID + " class='list-group-item' id=''>Inspection ID: " + inspectionID + " - Due Date: " + inspDueDate + " - Inspector(s): Bob Williams <span style='min-width:75px' class='label label-primary pull-right'>" + status + "</span></a>";