2016-10-12 3 views
1

概要

をアプリ設定/ ENV変数を設定し、私はアズールにMVC5のWebアプリケーションを配備しようとしています。 WEBSITE_NODE_DEFAULT_VERSIONをプログラムで設定して、すべての設定がリポジトリに原子的に含まれていることを確認する必要があります。そのアプリケーション設定/ env変数を.deploymentまたはdeploy.cmdに設定しようとすると、展開によって無視されます。どうして?はプログラムによるアズール(クーズー)展開中

背景

私のウェブアプリがターゲットフォルダに最小化LIBSを配置するために、クライアント側ライブラリの亭、そしてシンプルな一気スクリプトを使用しています。その後、私のcshtmlファイルは上記のフォルダからそれらを消費します。

this commentで、私はAzureのデプロイスクリプト(.deploymentdeploy.cmd)をダウンし、それを調整してバワーをインストールしました。

カスタム展開スクリプトをダウンロードします。あなたがに行く場合のhttps://.scm.azurewebsites.net [ツール]をクリックします - > [カスタム展開スクリプトをダウンロードするか、あるいは単にDからそれをダウンロードします。私の研究家\展開\ツール\

は、NPMがあることを示しましたAzure Webアプリケーションのデプロイではデフォルトで利用可能で、bowerパッケージはプリインストールされていますが、ガルプはインストールされていません。だから私は、デプロイメントスクリプトに3つのカスタムコマンドを追加する必要があります。

  1. NPMがインストール
  2. バウアーは、インストールが
  3. ゴクゴク(パイプラインクライアント(クライアント側のLIBSを引き下げ)(利用可能がぶ飲みを作るために必要な) -side libs)

Per this question私が直面している問題は、ノード(したがってnpm)が使用されていることです。古いバージョンです。 npm installコマンドはファイル名が長すぎるため、古いバージョンのnpmでは既知の問題です。 this set of Kudu runtime settingsパー

それは、最新のNPMはまた、実行されるようになるので、私は、WEBSITE_NODE_DEFAULT_VERSION(この質問の時点での最新) 6.7.0 に設定しようとしています。

ここで私の問題が発生します。npm installを実行する前に、​​という行を追加します(私は、等号の周囲にスペースを入れずに、引用符で囲み、setlocalなどを使用しています)。echo %WEBSITE_NODE_DEFAULT_VERSION%変数を設定する側に。前後の出力は常に4.4.7です。

.deploymentでも試してみましたが、無駄です。私は(時々command = deploy.cmdの前に時々)位置を変えようとしました。私はネットをオフに解読できるか、上記の私の方法のうちの少なくとも1 が動作するはずですから、

... は、なぜ私が展開スクリプトでは、このアプリの設定/ ENV変数を設定することはできませんか?

更新

this questionによると、私は.deploymentファイル内のアプリの設定を設定することはできません。これはネット上の他の記事とは異なりますが、なぜSETがdeploy.cmdファイルで動作していないのかはまだ説明していません。

ファイル

[config] 
;Change node version to change npm version to avoid long-file-name situations 
WEBSITE_NODE_DEFAULT_VERSION = 6.7.0 
command = deploy.cmd 

(REDACTED - default stuff) 
echo :: 4. NPM Install (borrowing from https://stackoverflow.com/questions/39480274/how-do-i-run-gulp-js-in-my-asp-net-core-project-when-deploying-to-azure-using-gi) 
IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
    :: Set the node version. Tried this in .deployment, but that didn't work. 
    :: HELP! Why isn't this working??? 
    echo %WEBSITE_NODE_DEFAULT_VERSION% before set 
    :: Output: "4.4.7 before set" 
    SET WEBSITE_NODE_DEFAULT_VERSION=6.7.0 
    echo %WEBSITE_NODE_DEFAULT_VERSION% after set 
    :: Output: "4.4.7 after set" 
    pushd "%DEPLOYMENT_TARGET%" 
    call :ExecuteCmd npm install 
    IF !ERRORLEVEL! NEQ 0 goto error 
    popd 
) 

echo :: 5. Bower Install (borrowing from https://stackoverflow.com/a/28591913/1876622) 
IF EXIST "%DEPLOYMENT_TARGET%\bower.json" (
    pushd "%DEPLOYMENT_TARGET%" 
    call :ExecuteCmd bower install 
    IF !ERRORLEVEL! NEQ 0 goto error 
    popd 
) 

echo :: 6. Run Gulp (borrowed from https://blogs.msdn.microsoft.com/azureossds/2016/08/12/run-npm-bower-composer-gulp-grunt-in-azure-app-services-during-deployment/) 
IF EXIST "%DEPLOYMENT_TARGET%\gulpfile.js" (
    pushd "%DEPLOYMENT_TARGET%" 
    call :ExecuteCmd gulp 
    IF !ERRORLEVEL! NEQ 0 goto error 
    popd 
) 

答えて

関連する問題