通过 Azure DevOps Pipelines 将 Nuxt.js SSR 应用部署到 Azure 应用服务
Deploy Nuxt.js SSR app to Azure App Service via Azure DevOps Pipelines
我在将 SSR Nuxt.js 应用从 Azure DevOps Pipelines 部署到 Azure 应用服务时遇到问题。
免责声明:
✅我已经设置了一个带有 Linux 容器的 Azure 应用服务。
✅我已将此添加到 nuxt.config.js
server: {
host: '0.0.0.0'
}
在 Azure DevOps Pipelines 中,我在构建后复制了这些文件:
.nuxt/**
static/**
package.json
nuxt.config.js
然后我将它们压缩为 package.zip
在日志中它显示它成功地压缩了文件但是当我解压缩 .nuxt
文件的 none 包时存在。我也很困惑,出于某种原因,在 package.zip 中它将所有构建文件放在一个名为 a/
的文件夹中
您可以在照片中看到它正在顶部创建 'a' 文件夹,并且看起来所有文件都已添加到存档中。
当我解压缩 package.zip 时,其中唯一的文件是:
* package.json
* nuxt.config.js
* /静态
这是我的 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 应用程序部署 SSR Next.app 的过程中。这很难解决,因为在 Azure DevOps Pipelines and Releases 中它说一切都成功了。
这个过程没有问题。 .nuxt
文件夹只是Linux环境下的隐藏文件夹。它是 hidden 而不是 missing ~
对于Linux: 名称以.(dot)
开头的文件夹被认为是一个隐藏文件夹。网上有很多关于这种行为的讨论,你可以试试this one。
如果您下载 package.zip
文件并在 Windows 环境中解压缩,您可以轻松找到 .nuxt
文件夹:
我在将 SSR Nuxt.js 应用从 Azure DevOps Pipelines 部署到 Azure 应用服务时遇到问题。
免责声明:
✅我已经设置了一个带有 Linux 容器的 Azure 应用服务。
✅我已将此添加到 nuxt.config.js
server: {
host: '0.0.0.0'
}
在 Azure DevOps Pipelines 中,我在构建后复制了这些文件:
.nuxt/**
static/**
package.json
nuxt.config.js
然后我将它们压缩为 package.zip
在日志中它显示它成功地压缩了文件但是当我解压缩 .nuxt
文件的 none 包时存在。我也很困惑,出于某种原因,在 package.zip 中它将所有构建文件放在一个名为 a/
这是我的 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 应用程序部署 SSR Next.app 的过程中。这很难解决,因为在 Azure DevOps Pipelines and Releases 中它说一切都成功了。
这个过程没有问题。 .nuxt
文件夹只是Linux环境下的隐藏文件夹。它是 hidden 而不是 missing ~
对于Linux: 名称以.(dot)
开头的文件夹被认为是一个隐藏文件夹。网上有很多关于这种行为的讨论,你可以试试this one。
如果您下载 package.zip
文件并在 Windows 环境中解压缩,您可以轻松找到 .nuxt
文件夹: