成功部署仍然会导致默认页面
Successful deployment still leads to default page
我按照三个不同教程的内容将稍微修改过的样板 React 应用部署到 Azure 应用服务。我遇到的主要问题是,虽然所有部署管道和发布都在 Azure DevOps 上成功,但导航到该页面会导致未部署应用程序服务的默认登录页面;
Hey, Node developers!
Your app service is up and running.
Time to take the next step and deploy your code.
我将简要描述我为达到这一点所采取的步骤:
- 我使用
create-react-app
生成了一个基本模板,运行 所有先决条件命令,摆弄了 app.js 文件及其 CSS 伴侣,并留下 index.* 未受影响。
- 我用一个未触及的 gitignore 将所有内容推送到 Github 存储库。
- 我在免费计划中创建了一个应用服务 运行 Linux 和 Node 12 LTS。
- 我创建了一个 DevOps 项目,并在其中创建了一个管道和一个发布管道。
- 在管道中:我在获取源步骤中通过链接帐户检索了我的存储库源。在代理作业 1 中,我添加了一个
npm install
元素、一个 npm run build
元素和一个 Publish Artifact 元素。我将路径设置为 build
,将工件名称设置为 artifact
,发布到 Azure Pipelines。
- 在发布管道中:我添加了一个工件,它从以前的管道中获取源代码,并提供源别名
_artifact
。 CD 触发器已启用。我添加了一个具有 Deploy Azure App Service 元素的阶段,使用 $(System.DefaultWorkingDirectory)/_artifact/artifact
作为 package/folder.
当我推送提交或手动触发第一个管道时,一切都会成功,没有明显的错误。 Release 管道被触发并且也没有错误地完成。检查日志, artifact
被准确存储和访问。我可以看到正在访问正确的构建文件。
在 Azure 门户中,我可以看到部署已成功并具有正确的时间戳、提交名称和管道。但是,当我访问实际站点时,显示的是通用页面。
我是不是漏掉了关键的一步?我试过导航到 /index.html、/src/index.html 和一堆其他已知文件的组合,但无济于事; Cannot GET /index.html
.
如有任何见解,我们将不胜感激。
作为参考,我使用了这三个演练:
这道题很简单,可以参考下面post.
2. Unable to deploy React JS application on Azure App service
建议:
创建webapp时建议选择linux
Configuration
->StartupCommand:
pm2 serve /home/site/wwwroot --no-daemon --spa
我按照三个不同教程的内容将稍微修改过的样板 React 应用部署到 Azure 应用服务。我遇到的主要问题是,虽然所有部署管道和发布都在 Azure DevOps 上成功,但导航到该页面会导致未部署应用程序服务的默认登录页面;
Hey, Node developers! Your app service is up and running. Time to take the next step and deploy your code.
我将简要描述我为达到这一点所采取的步骤:
- 我使用
create-react-app
生成了一个基本模板,运行 所有先决条件命令,摆弄了 app.js 文件及其 CSS 伴侣,并留下 index.* 未受影响。 - 我用一个未触及的 gitignore 将所有内容推送到 Github 存储库。
- 我在免费计划中创建了一个应用服务 运行 Linux 和 Node 12 LTS。
- 我创建了一个 DevOps 项目,并在其中创建了一个管道和一个发布管道。
- 在管道中:我在获取源步骤中通过链接帐户检索了我的存储库源。在代理作业 1 中,我添加了一个
npm install
元素、一个npm run build
元素和一个 Publish Artifact 元素。我将路径设置为build
,将工件名称设置为artifact
,发布到 Azure Pipelines。 - 在发布管道中:我添加了一个工件,它从以前的管道中获取源代码,并提供源别名
_artifact
。 CD 触发器已启用。我添加了一个具有 Deploy Azure App Service 元素的阶段,使用$(System.DefaultWorkingDirectory)/_artifact/artifact
作为 package/folder.
当我推送提交或手动触发第一个管道时,一切都会成功,没有明显的错误。 Release 管道被触发并且也没有错误地完成。检查日志, artifact
被准确存储和访问。我可以看到正在访问正确的构建文件。
在 Azure 门户中,我可以看到部署已成功并具有正确的时间戳、提交名称和管道。但是,当我访问实际站点时,显示的是通用页面。
我是不是漏掉了关键的一步?我试过导航到 /index.html、/src/index.html 和一堆其他已知文件的组合,但无济于事; Cannot GET /index.html
.
如有任何见解,我们将不胜感激。
作为参考,我使用了这三个演练:
这道题很简单,可以参考下面post.
2. Unable to deploy React JS application on Azure App service
建议:
创建webapp时建议选择linux
Configuration
->StartupCommand:
pm2 serve /home/site/wwwroot --no-daemon --spa