ここでの 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 を追加した空のアプリケーションです。