概要
をアプリ設定/ ENV変数を設定し、私はアズールにMVC5のWebアプリケーションを配備しようとしています。 WEBSITE_NODE_DEFAULT_VERSIONをプログラムで設定して、すべての設定がリポジトリに原子的に含まれていることを確認する必要があります。そのアプリケーション設定/ env変数を.deployment
またはdeploy.cmd
に設定しようとすると、展開によって無視されます。どうして?はプログラムによるアズール(クーズー)展開中
背景
私のウェブアプリがターゲットフォルダに最小化LIBSを配置するために、クライアント側ライブラリの亭、そしてシンプルな一気スクリプトを使用しています。その後、私のcshtmlファイルは上記のフォルダからそれらを消費します。
this commentで、私はAzureのデプロイスクリプト(.deployment
とdeploy.cmd
)をダウンし、それを調整してバワーをインストールしました。
カスタム展開スクリプトをダウンロードします。あなたがに行く場合のhttps://.scm.azurewebsites.net [ツール]をクリックします - > [カスタム展開スクリプトをダウンロードするか、あるいは単にDからそれをダウンロードします。私の研究家\展開\ツール\
は、NPMがあることを示しましたAzure Webアプリケーションのデプロイではデフォルトで利用可能で、bowerパッケージはプリインストールされていますが、ガルプはインストールされていません。だから私は、デプロイメントスクリプトに3つのカスタムコマンドを追加する必要があります。
- NPMがインストール
- バウアーは、インストールが
- ゴクゴク(パイプラインクライアント(クライアント側の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
)