ember-cliアプリをAzureWebサイトにデプロイしようとしています。Azureにデプロイするときは、デプロイメントスクリプトを実行します。これにより、次のことが実行されます。
- npm install bower
- npm install ember-cli
- bower install
- npm install
- ember build
まあ、それがember build
ステップに達するまで、それはすべてうまくいくようです。エラーが発生します:
this._handle.open(options.fd)
Error: EINVAL, Invalid argument
at new Socket (net.js:156:18)
at process.stdin (node.js:664:19)
at ..... ember-cli\bin\ember:28:25
周りを検索すると、Grunt https://github.com/TryGhost/Ghost/pull/3608と同じ問題に関してこのリンクが見つかりました。では、Ember CLIでstdinを無効にするにはどうすればよいですか?それを行う方法、またはアプリをデプロイできるようにするための回避策はありますか?
Webサーバーでビルドプロセスを作成しようとしていますが、どういうわけかこれはAzureでは機能しません。Azureの使用経験がある人はいますか?どうもありがとうございます!
更新
FelixRiesebergまたはJustinNiessnerによって以下に投稿された2つの方法のいずれかを実行してください。サポートと調査の両方に感謝します!
私はこれを自分で試みる最終段階にあります。展開をどのように設定したかはわかりませんが、dist
フォルダー内に%DEPLOYMENT_SOURCE%
フォルダーを作成し、展開の一部として結果のフォルダーのみをコピーする必要がありました。
あなたがあなたの投稿に含めたリンクを見るまで、私はあなたが抱えているのと同じ問題に苦しんでいました。これにより、deploy.cmdから直接呼び出すのではなく、使用grunt
しgrunt-shell
て呼び出すというクレイジーなアイデアが得られember build
ました。
私のGruntfile.jsは非常に単純です:
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
shell: {
build: {
command: 'ember build -prod',
options: {
stdout: true,
stdin: false
}
},
test: {
command: 'ember test',
options: {
stdout: true,
stdin: false
}
}
}
});
grunt.registerTask('default', ['shell:build'])
}
その後dist
、KuduSyncコマンドを使用してにコピーできるフォルダーができましたwwwroot
。他に確認する必要があるものがある場合は、お知らせください。回答を更新します。
更新
私はついに物事を片付け、すでにインストールされているものをインストールしていないことを確認するためにいくつかのチェックを追加する機会がありました。私のdeploy.shファイル全体は次の場所で表示できます。
https://github.com/CrshOverride/EmberTodo/blob/master/deploy.sh
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加