2017-06-14 14 views
1

私はMS Azureでgithubとwebappを使って継続的な統合デプロイメントプロセスを設定しようとしています。 AngularアプリはAngular CLIを使用して設定されます。私は私のgithub-repoにプッシュを行うと、Webを空白のWebアプリケーションにデプロイするようにしたいと思います。 これまでに行ったこと:Angular 2 appをAzureにデプロイ

- アプリの設定と実行が正常に完了しました。コードがgithub-repoにプッシュされました。

-I'veはクーズー(.deployment/deploy.cmd)でカスタム展開スクリプトを作成し

-webappは紺碧で作成

、その私の問題は、ビルドがトリガされたときにされていることを

githubのためにバインドさコードをgithubにプッシュするが、Angular-appは構築されていないようだ。代わりの\のdist-フォルダには、ソースコードフォルダのコピーが含まれています enter image description here

私deploy.cmdファイルには、次のようになります。

@if "%SCM_TRACE_LEVEL%" NEQ "4" @echo off 

:: ---------------------- 
:: KUDU Deployment Script 
:: Version: 1.0.15 
:: ---------------------- 

:: Prerequisites 
:: ------------- 

:: Verify node.js installed 
where node 2>nul >nul 
IF %ERRORLEVEL% NEQ 0 (
    echo Missing node.js executable, please install node.js, if already installed make sure it can be reached from current environment. 
    goto error 
) 

:: Setup 
:: ----- 

setlocal enabledelayedexpansion 

SET ARTIFACTS=%~dp0%..\artifacts 

IF NOT DEFINED DEPLOYMENT_SOURCE (
    SET DEPLOYMENT_SOURCE=%~dp0%. 
) 

IF NOT DEFINED DEPLOYMENT_TARGET (
    SET DEPLOYMENT_TARGET=%ARTIFACTS%\wwwroot 
) 

IF NOT DEFINED NEXT_MANIFEST_PATH (
    SET NEXT_MANIFEST_PATH=%ARTIFACTS%\manifest 

    IF NOT DEFINED PREVIOUS_MANIFEST_PATH (
    SET PREVIOUS_MANIFEST_PATH=%ARTIFACTS%\manifest 
) 
) 

IF NOT DEFINED KUDU_SYNC_CMD (
    :: Install kudu sync 
    echo Installing Kudu Sync 
    call npm install kudusync -g --silent 
    IF !ERRORLEVEL! NEQ 0 goto error 

    :: Locally just running "kuduSync" would also work 
    SET KUDU_SYNC_CMD=%appdata%\npm\kuduSync.cmd 
) 
goto Deployment 

:: Utility Functions 
:: ----------------- 

:SelectNodeVersion 

IF DEFINED KUDU_SELECT_NODE_VERSION_CMD (
    :: The following are done only on Windows Azure Websites environment 
    call %KUDU_SELECT_NODE_VERSION_CMD% "%DEPLOYMENT_SOURCE%" "%DEPLOYMENT_TARGET%" "%DEPLOYMENT_TEMP%" 
    IF !ERRORLEVEL! NEQ 0 goto error 

    IF EXIST "%DEPLOYMENT_TEMP%\__nodeVersion.tmp" (
    SET /p NODE_EXE=<"%DEPLOYMENT_TEMP%\__nodeVersion.tmp" 
    IF !ERRORLEVEL! NEQ 0 goto error 
) 

    IF EXIST "%DEPLOYMENT_TEMP%\__npmVersion.tmp" (
    SET /p NPM_JS_PATH=<"%DEPLOYMENT_TEMP%\__npmVersion.tmp" 
    IF !ERRORLEVEL! NEQ 0 goto error 
) 

    IF NOT DEFINED NODE_EXE (
    SET NODE_EXE=node 
) 

    SET NPM_CMD="!NODE_EXE!" "!NPM_JS_PATH!" 
) ELSE (
    SET NPM_CMD=npm 
    SET NODE_EXE=node 
) 

goto :EOF 

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
:: 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 

:: 3. Install npm packages 
IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
    pushd "%DEPLOYMENT_TARGET%" 
    call :ExecuteCmd !NPM_CMD! install ::--production 
    IF !ERRORLEVEL! NEQ 0 goto error 
    popd 
) 

echo Handling Angular build 
    ::4. Build ng app 
IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
     pushd "%DEPLOYMENT_TARGET%" 
     call :ExecuteCmd "!NODE_EXE!" ./node_modules/@angular/cli/bin/ng build --prod --env=prod --aot 
     :: the next line is optional to fix 404 error see section #8 
     call :ExecuteCmd cp "%DEPLOYMENT_TARGET%"/web.config "%DEPLOYMENT_TARGET%"/dist/ 
     IF !ERRORLEVEL! NEQ 0 goto error 
     popd 
    ) 

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

:: Execute command routine that will echo out when error 
:ExecuteCmd 
setlocal 
set _CMD_=%* 
call %_CMD_% 
if "%ERRORLEVEL%" NEQ "0" echo Failed exitCode=%ERRORLEVEL%, command=%_CMD_% 
exit /b %ERRORLEVEL% 

:error 
endlocal 
echo An error has occurred during web site deployment. 
call :exitSetErrorLevel 
call :exitFromFunction 2>nul 

:exitSetErrorLevel 
exit /b 1 

:exitFromFunction 
() 

:end 
endlocal 
echo Finished successfully. 

答えて

0

[OK]をので、私は問題:)のタイプミスを発見しましたdeploy.cmdファイル変更:

:: 3. Install npm packages 
IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
    pushd "%DEPLOYMENT_TARGET%" 
    call :ExecuteCmd !NPM_CMD! install 
    IF !ERRORLEVEL! NEQ 0 goto error 
    popd 
) 

し、すべてが魔法のように動作:

:: 3. Install npm packages 
IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
    pushd "%DEPLOYMENT_TARGET%" 
    call :ExecuteCmd !NPM_CMD! install ::--production 
    IF !ERRORLEVEL! NEQ 0 goto error 
    popd 
) 

にD

関連する問題