【发布时间】:2021-01-11 13:33:45
【问题描述】:
我正面临这种奇怪的情况。我有以下设置。
- 使用 create-react-app 创建的 React JS 应用
- GitHub 上的代码
- Azure Web 应用 - 从 Azure 门户创建。
- Azure DevOps + Pipelines + YAML
这周我做了很多部署,我注意到了这种情况。 每次第一次部署,在 wwwroot 文件夹中总是会出现以下情况。
但是,每个后续部署都可以正常工作。
复制
- 使用 create-react-app 创建新应用
- 放到 GitHub 上
- 将 GitHub 存储库与 Azure DevOps Pipelines 链接
- 将管道定位到要部署到全新创建的 Azure Web 应用程序。
初始部署总是会失败,如上图所示。请记住,后续部署不会失败。
那么,问题是,我能做些什么来防止这种情况发生吗?
我计划在 Azure 上自动创建资源以及自动部署。
更新 1
根据评论,包括我的 YAML。我在我所有的 react JS 部署中都使用了它,它显示了与上面相同的问题。
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run build
displayName: 'npm install and build'
- task: CopyFiles@2
inputs:
Contents: 'build/**' # Pull the build directory (React)
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: $(Build.ArtifactStagingDirectory) # dist or build files
ArtifactName: 'www' # output artifact named www
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/build/'
includeRootFolder: false
- task: AzureWebApp@1
inputs:
azureSubscription: 'ReactJSRecipeAppConnection'
appName: 'ReactJSRecipeAppSep232020'
package: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
【问题讨论】:
-
可能超时了?喜欢安装一些依赖项并完成,但是安装超时然后第二次安装不需要这样做,因此不会超时
-
我真的不这么认为。这周我一定部署了大约六个站点。每次都持续不断的情况。我不敢相信我创建的每个网站每次都超时。这些文件根本不会进入 wwwroot 文件夹。我认为,在管道中的某个地方,配置文件没有正确创建。这可能是 azure-devops 的工作方式。
-
为什么第二次会起作用?
-
这就是我希望找到的 :) 现在,我只是每次都触发第二次部署来克服这个问题。代码,YAML 管道,没有任何改变。
-
@Jay 请分享 YAML 管道并将变量 system.debug 设置为 true 以获取详细日志。
标签: azure azure-devops azure-web-app-service