通过Azure DevOps管道将Nuxt.js SSR应用程序部署到Azure应用服务

时间:2020-05-20 00:50:30

标签: azure-devops azure-pipelines nuxt.js azure-pipelines-release-pipeline azure-app-service-envrmnt

我无法将SSR Nuxt.js应用程序从Azure DevOps管道部署到Azure应用程序服务。

免责声明: have我已使用Linux容器设置了Azure应用服务。 ✅我已将此添加到nuxt.config.js

  server: {
    host: '0.0.0.0'
  }

在Azure DevOps管道中,我在构建后复制以下文件:

.nuxt/**
static/**
package.json
nuxt.config.js

然后我将它们压缩为package.zip 在日志中,它显示已成功压缩文件,但是当我解压缩软件包时,没有.nuxt文件。我也感到困惑,由于某种原因,它在package.zip中将所有构建文件都放在一个名为a/

的文件夹中

archiving files 您可以在照片中看到它正在顶部创建一个“ a”文件夹,并且看起来所有文件都已添加到存档中。 当我解压package.zip时,其中仅有的文件是: * package.json * nuxt.config.js * / static

unzipped files

这是我的YAML文件的样子:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '12.x'
  displayName: 'Install Node.js'

- script: |
    cd src/Web.Nuxt
    npm install
    npm run build
  displayName: 'npm install and build'

- task: CopyFiles@2
  inputs:
    SourceFolder: '$(Build.SourcesDirectory)/src/Web.Nuxt'
    Contents: |
      .nuxt/**
      static/**
      package.json
      nuxt.config.js
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: ArchiveFiles@2
  inputs:
    rootFolderOrFile: '$(Build.ArtifactStagingDirectory)'
    archiveType: 'zip'
    archiveFile: '$(Build.ArtifactStagingDirectory)/package.zip'
    replaceExistingArchive: true

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)/package.zip'
    ArtifactName: 'drop'
    publishLocation: 'Container'

任何帮助都会使我重新回到使用Azure DevOps Pipelines,Azure App Service和Nuxt SSR app部署SSR Next.app的方向。这很难进行故障排除,因为在Azure DevOps Pipelines and Releases中,它说一切都成功了。

2 个答案:

答案 0 :(得分:1)

此过程没有错。 .nuxt文件夹在Linux环境中只是隐藏的文件夹。它是隐藏,而不是丢失

对于Linux::名称以.(dot)开头的文件夹被视为一个隐藏文件夹。在线上有很多关于此行为的讨论,您可以尝试this one

如果下载该package.zip文件并在Windows环境中将其解压缩,则可以轻松找到.nuxt文件夹:

enter image description here

答案 1 :(得分:0)

您是否已成功使用Azure DevOps CI / CD将Nuxt SSR应用程序部署到Azure App Service?

我看不到对web.config的引用