成功部署仍然会导致默认页面

时间:2020-11-06 03:19:21

标签: reactjs azure azure-devops continuous-integration azure-web-app-service

在将稍作修改的样板React应用程序部署到Azure App Services时,我遵循了三个不同教程的内容。我遇到的主要问题是,尽管所有部署管道和发行版在Azure DevOps上均成功完成,但导航到该页面会导致未部署的应用程序服务的默认登录页面;

嘿,Node开发人员! 您的应用程序服务已启动并正在运行。 是时候采取下一步并部署代码了。

我将简要介绍为达到这一点而采取的步骤:

  1. 我使用create-react-app生成了一个基本模板,运行了所有必备命令,并摆弄了 app.js 文件及其CSS伴随文件,并保留了 index。* < / strong>保持不变。
  2. 我将所有内容以不变的 gitignore 推送到Github存储库中。
  3. 我在免费计划上创建了一个运行Linux和Node 12 LTS的应用程序服务。
  4. 我创建了一个DevOps项目,并在其中创建了管道和发布管道。
  5. 在管道中:我在“获取源”步骤中通过链接的帐户检索了存储库源。在代理程序作业1中,我添加了npm install元素,npm run build元素和Publish Artifact元素。我将路径设置为build,并将工件名称设置为artifact,然后发布到Azure Pipelines。
  6. 在发布管道中:我添加了一个工件,该工件从先前的管道中获取其源代码,并提供了源别名_artifact。 CD触发器已启用。我使用$(System.DefaultWorkingDirectory)/_artifact/artifact作为包/文件夹添加了一个具有Deploy Azure App Service元素的阶段。

当我推动提交或手动触发第一个管道时,一切成功,没有明显的错误。 Release管道将被触发,并且也将正确完成。检查日志,artifact被正确存储和访问。我可以看到正在访问的正确的构建文件。

在Azure门户中,我看到正确的时间戳,提交名称和管道已成功部署。但是,当我访问实际站点时,会看到通用页面。

我在某个地方错过了关键步骤吗?我尝试导航到/index.html、/src/index.html以及其他一系列已知文件的组合,但无济于事; Cannot GET /index.html

任何见识都会受到赞赏。

作为参考,我使用了以下三个演练:

1 个答案:

答案 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?

建议:

  1. 建议在创建Web应用程序时选择linux。

  2. Configuration-> StartupCommand: pm2 serve /home/site/wwwroot --no-daemon --spa