web-dev-qa-db-ja.com

VSTSによるデプロイが成功した後、Azureアプリサービスでnpmコマンドを実行するにはどうすればよいですか?

これで、VSTSからAzureにデプロイできますが、デプロイが成功した後、npmを実行できません。

これで、次のように動作します->ブランチファイルに対してnpminstallを実行します=> Zip => Azureにコピーします=>デプロイします。

このチェーンの最後にnpm run custom-comandを追加したいと思います。どうやってするの?

enter image description here

5
Mediator

VSTSのAzure App Service展開タスクは、展開後のスクリプトをサポートするようになりました。これは、タスクのバージョン3. *のスクリーンショットです。

Post Deployment Action settings

詳細については、 タスクパラメータ を参照してください。

Windows App Servicesユーザー:複数のnpmコマンドの実行を妨げる npmバグ に注意してください(インラインまたはスクリプト内)。例えば:

npm install
npm test

npm installのみを実行します。 this を含むいくつかの回避策があります:

npm install & npm test
10
DanielLarsenNZ

必要な機能を実現するためのすぐに使用できるビルドタスクはありません。 Azure App Serviceからnpmを実行する場合:

手動:App Serviceの Kudu console に移動し、そこでnpmコマンドを実行できます: enter image description here

自動的に: Kudu Rest API を介してnpmコマンドを実行するには、独自のビルドタスクを作成する必要があります

4

Kudu REST API を介してnpm installのようなコマンドを実行できます。

これはPowerShellで記述されたスクリプト例です

Azure App Service Deployタスクの後にPowerShellスクリプトタスクを追加して、npm install(またはKuduがサポートするその他のコマンド)を呼び出します。そして、ビルドパイプラインでnpm installタスクを無効にします。

4
DanielLarsenNZ

App Serviceが利用するKuduデプロイメントエンジンには、カスタムデプロイメントスクリプトを実行する機能があります。 Azure側のデプロイメントの一部として実行される カスタムデプロイメントスクリプト 内に目的のnpmコマンドを含めることができます。いいえREST API呼び出しが必要であり、すべてがソース管理システムに残ります。

3
logan rakai

PowerShellタスクまたはnpmタスクを使用してnpmコマンドを実行できます。

注意すべき点の1つは、認証トークンを含む.npmrcをAzureにアップロードする必要があることです。

0
Marina Liu