1

ここでの gulp-octo のバージョンは 0.0.10 で、現在のバージョンではありません。これは、新しいバージョンに適用される場合と適用されない場合があります

angular-cli コマンドng-buildは、Angular アプリを/distフォルダーにビルドします。

最終的に、js、html などのファイルを含むフラットな dist フォルダーが作成されます。

/dist
  index.html
  inline.js
  [etc]

次に、次gulp-octoのようにパッケージを octopus デプロイ ホストに公開するために使用できます。

// You need to bump version in package.json and ng build before running this
gulp.task("publish", function() {
    return gulp.src(["dist/**"])
        .pipe(octo.pack())
        .pipe(octo.push(octoConfig));
});

これは機能します。

次に、assetFile.png ファイルをアセット ファイルに追加します。これにより、/distの外観が変わります。もはや完全にフラットではありません:

/dist
   /assets
      assetFile.png
  index.html
  inline.js
  [etc]

突然、次のgulp publishエラーで失敗します。

λ gulp publish
[11:14:58] Using gulpfile C:\Source\blank-angular-cli-app\gulpfile.js
[11:14:58] Starting 'publish'...
[11:14:58] Packed 'foo.0.0.0.2.tar.gz' with 10 files
C:\Source\blank-angular-cli-app\node_modules\@octopusdeploy\octopackjs\lib\pack.js:26
    throw err;
    ^

Error: ENOENT: no such file or directory, stat 'C:\Source\blank-angular-cli-app\assets'
    at Error (native)

サブフォルダーを含む/distフォルダーには明らかに不満です (ビルド後にフォルダーを dist に追加すると、同じエラーが発生します)。しかし、それがなぜなのか、どうすればよいのかわかりません。

何が起こっている?この展開を修正するにはどうすればよいですか?

何が起こっているかの最小限の例はGithubng initにあります。これは、 (angular-cli) を使用して作成し、gulp と octopus を追加した空のアプリケーションです。

4

2 に答える 2