2016-05-07 20 views
3

私はhttp://fitbit-export.azurewebsites.net/にAzure Nodejsサイトを持っています。 Githubからデプロイすると、Azureはnode_modulesに既に存在するものがpackage.jsonのものと一致しない場合にのみ更新します。ノードモジュールを強制的に再インストールする

これは私が[email protected]^1.0.0のようなバージョンの仕様を持っている、と[email protected]公開されている場合、私は私のpackage.json[email protected]^1.0.1を要求するために、更新しない限り、アズールは[email protected]をインストールしないことを意味します。

私はそれがが展開が速くなりますが、私はそれが利用可能かどう[email protected]を受信する"a": "^1.0.0"でアプリを配布期待するので、それは、私にとっては少し意外であるので、Azureのがこれを行うことを推測しています。

私はpackage.jsonのすべてのエントリを手動で更新することで、この問題を回避できます。しかし、Azureに私の全体を拭くように指示する方法はありますか?を新しくしますか?

答えて

-1

Azure Web App automates the deployment using npm install --productionのようにdevDependenciesがインストールされていないため、表示されていると思います。 devDependenciesの名前をpackage.jsonの依存関係に変更してください。

+0

これは 'devDependencies'とは関係ありません。 –

0

Web Appsの既定の展開スクリプトをカスタマイズできます。

azure site deploymentscript --node 

deploy.cmdにデフォルトのスクリプトを使用紺碧-CLIを取得するには

はそれにコマンドを復元するパッケージを見ることができ、展開スクリプトです:

call :ExecuteCmd !NPM_CMD! install --production 

あなたがここにコマンドをカスタマイズすることができまたはその他の手順を実行します。

カスタマイズされたスクリプトを使用するには、deploy.cmdと生成された.deploymentファイルをソースコントロールに入れて、コードと共に展開するようにします。

0

@itaysk氏によると、Webアプリケーションのデプロイメントスクリプトをカスタマイズすることができます。

参考として、参考になると思います。問題は自動的に実行さ紺碧npm installがないことをアプリケーションサービスのためのアプリケーションサービスの

  1. 展開、アプリケーションサービスの展開をカスタマイズhttps://github.com/projectkudu/kudu/wiki/Deployment
  2. https://github.com/projectkudu/kudu/wiki/Customizing-deployments
  3. 展開フック、https://github.com/projectkudu/kudu/wiki/Deployment-hooks
0

ですpackage.jsonで指定されたバージョンがインストールされているモジュールよりも低い場合、または少なくともキャレット(^)の場合は、既存のモジュールをすべて更新してください。

毎回リモートサーバー上のnode_modules全体を削除するのではなく、パッケージをインストールしたあと.deploymentを実行してnpm updateを実行するだけです。

run azure site deploymentscript --nodeあなたのルートリポジトリには、紺色にプッシュしています。

これが生成します。

.deploymentdeploy.cmd

我々は唯一.deployment `気に。これらの行を追加する

更新.deploymentスクリプト:展開セクションに

:: 4. Update npm packages 
call :ExecuteCmd !NPM_CMD! update 
IF !ERRORLEVEL! NEQ 0 goto error 

は:

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
:: Deployment 
:: ---------- 

:Deployment 
echo Handling node.js deployment. 

:: 1. KuduSync 
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
    call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd" 
    IF !ERRORLEVEL! NEQ 0 goto error 
) 

:: 2. Select node version 
call :SelectNodeVersion 

IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
    :: 3. Install npm packages 
    pushd "%DEPLOYMENT_TARGET%" 

    call :ExecuteCmd !NPM_CMD! install --production 
    IF !ERRORLEVEL! NEQ 0 goto error 

    :: 4. Update npm packages 
    call :ExecuteCmd !NPM_CMD! update 
    IF !ERRORLEVEL! NEQ 0 goto error 

    popd 
) 

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
goto end 

これはあなたのパッケージをインストールし、正しいバージョンにそれらを更新します。

cmdを開いてdeploy.cmdというディレクトリに移動し、 "deploy.cmd"と入力して実行し、出力を調べてください。

関連する問題