在将稍作修改的样板React应用程序部署到Azure App Services时,我遵循了三个不同教程的内容。我遇到的主要问题是,尽管所有部署管道和发行版在Azure DevOps上均成功完成,但导航到该页面会导致未部署的应用程序服务的默认登录页面;
嘿,Node开发人员! 您的应用程序服务已启动并正在运行。 是时候采取下一步并部署代码了。
我将简要介绍为达到这一点而采取的步骤:
create-react-app
生成了一个基本模板,运行了所有必备命令,并摆弄了 app.js 文件及其CSS伴随文件,并保留了 index。* < / strong>保持不变。npm install
元素,npm run build
元素和Publish Artifact元素。我将路径设置为build
,并将工件名称设置为artifact
,然后发布到Azure Pipelines。_artifact
。 CD触发器已启用。我使用$(System.DefaultWorkingDirectory)/_artifact/artifact
作为包/文件夹添加了一个具有Deploy Azure App Service元素的阶段。当我推动提交或手动触发第一个管道时,一切成功,没有明显的错误。 Release管道将被触发,并且也将正确完成。检查日志,artifact
被正确存储和访问。我可以看到正在访问的正确的构建文件。
在Azure门户中,我看到正确的时间戳,提交名称和管道已成功部署。但是,当我访问实际站点时,会看到通用页面。
我在某个地方错过了关键步骤吗?我尝试导航到/index.html、/src/index.html以及其他一系列已知文件的组合,但无济于事; Cannot GET /index.html
。
任何见识都会受到赞赏。
作为参考,我使用了以下三个演练:
答案 0 :(得分:1)
这个问题很简单,您可以参考以下帖子。
1. Deploy create-react-app with azure pipelines
2. Unable to deploy React JS application on Azure App service
3. Process for React App deployment to Azure Web?
建议:
建议在创建Web应用程序时选择linux。
Configuration
-> StartupCommand:
pm2 serve /home/site/wwwroot --no-daemon --spa