将 Angular 2 应用程序部署到 Azure

马格努斯·琼森

我正在尝试使用 github 和 MS Azure 上的 web 应用程序设置持续集成部署过程。Angular 应用程序是使用 Angular CLI 设置的。当我推送到我的 github-repo 时,我希望将网络部署到 azure webapp。到目前为止我所做的:

-Angular 应用程序设置和运行。代码推送到 github-repo。

- 我已经用 KUDU (.deployment / deploy.cmd) 创建了自定义部署脚本

- azure 中创建的 webapp 并绑定到 github

我的问题是在将代码推送到 github 时触发了构建,但 Angular-app 似乎没有构建。相反, \dist-folder 包含源代码文件夹的副本:在此处输入图片说明

我的 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.
马格努斯·琼森

好的,所以我发现了问题:) deploy.cmd 文件中有一个错字。更改:

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

至:

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

一切都像魅力一样:D

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将MVC应用程序部署到Azure后无法加载NewtonSoft.JSON

来自分类Dev

如何将网络应用程序部署到azure-mobile.net?

来自分类Dev

将ASP.NET vNext应用程序部署到Azure云服务

来自分类Dev

如何将Ember CLI应用程序部署到Azure网站

来自分类Dev

将应用程序部署到Azure

来自分类Dev

将Angular 2应用程序部署到Parse.com

来自分类Dev

将Angular 2应用程序部署到Azure

来自分类Dev

无法将Spring Boot应用程序部署到Azure

来自分类Dev

如何使用发布模式将Web应用程序部署到Azure

来自分类Dev

将laravel应用程序部署到Azure

来自分类Dev

将角度应用程序部署到Azure Web应用程序-但显示默认的Azure页面

来自分类Dev

Azure DevOps将工件打包的应用程序部署到IIS

来自分类Dev

将MVC应用程序部署到Azure App Service时的POSTS问题

来自分类Dev

无法将ASP.NET Core 2.1 Angular应用程序部署到Azure

来自分类Dev

从Azure管道将Spring Boot Gradle应用程序部署到Azure App Service

来自分类Dev

将应用程序部署到Azure

来自分类Dev

使用Ninject将Web api 2应用程序部署到Azure时出错

来自分类Dev

将Symfony2应用程序部署到Azure Web托管上

来自分类Dev

在Azure上部署Angular2应用程序时出现节点版本错误

来自分类Dev

部署:将Angular 2 / Node.js应用程序部署到Heroku

来自分类Dev

如何将 Angular 2 应用程序部署为独立的(使用 dist 文件夹)

来自分类Dev

将 Angular 项目从 GitHub 部署到 Azure 应用服务

来自分类Dev

将 servicestack angular 2 应用程序部署到弹性 beantalk

来自分类Dev

将 Angular2 应用程序发布和部署到 Azure

来自分类Dev

从 VS Code 将 NodeJS 应用程序部署到 Azure

来自分类Dev

将 Angular 2 应用程序部署到 AWS Elastic Beanstalk

来自分类Dev

将 angular-universal 应用程序部署到 heroku

来自分类Dev

将文件从 angular 应用程序上传到 azure 函数,然后坚持到 blob 存储

来自分类Dev

将 GitLab Web 应用程序部署到 Azure 应用程序服务

Related 相关文章

  1. 1

    将MVC应用程序部署到Azure后无法加载NewtonSoft.JSON

  2. 2

    如何将网络应用程序部署到azure-mobile.net?

  3. 3

    将ASP.NET vNext应用程序部署到Azure云服务

  4. 4

    如何将Ember CLI应用程序部署到Azure网站

  5. 5

    将应用程序部署到Azure

  6. 6

    将Angular 2应用程序部署到Parse.com

  7. 7

    将Angular 2应用程序部署到Azure

  8. 8

    无法将Spring Boot应用程序部署到Azure

  9. 9

    如何使用发布模式将Web应用程序部署到Azure

  10. 10

    将laravel应用程序部署到Azure

  11. 11

    将角度应用程序部署到Azure Web应用程序-但显示默认的Azure页面

  12. 12

    Azure DevOps将工件打包的应用程序部署到IIS

  13. 13

    将MVC应用程序部署到Azure App Service时的POSTS问题

  14. 14

    无法将ASP.NET Core 2.1 Angular应用程序部署到Azure

  15. 15

    从Azure管道将Spring Boot Gradle应用程序部署到Azure App Service

  16. 16

    将应用程序部署到Azure

  17. 17

    使用Ninject将Web api 2应用程序部署到Azure时出错

  18. 18

    将Symfony2应用程序部署到Azure Web托管上

  19. 19

    在Azure上部署Angular2应用程序时出现节点版本错误

  20. 20

    部署:将Angular 2 / Node.js应用程序部署到Heroku

  21. 21

    如何将 Angular 2 应用程序部署为独立的(使用 dist 文件夹)

  22. 22

    将 Angular 项目从 GitHub 部署到 Azure 应用服务

  23. 23

    将 servicestack angular 2 应用程序部署到弹性 beantalk

  24. 24

    将 Angular2 应用程序发布和部署到 Azure

  25. 25

    从 VS Code 将 NodeJS 应用程序部署到 Azure

  26. 26

    将 Angular 2 应用程序部署到 AWS Elastic Beanstalk

  27. 27

    将 angular-universal 应用程序部署到 heroku

  28. 28

    将文件从 angular 应用程序上传到 azure 函数,然后坚持到 blob 存储

  29. 29

    将 GitLab Web 应用程序部署到 Azure 应用程序服务

热门标签

归档