使用 Github Actions 将 Next.js 部署到 Azure 应用服务的问题
Posted
技术标签:
【中文标题】使用 Github Actions 将 Next.js 部署到 Azure 应用服务的问题【英文标题】:Problem with Deploying Next.js to Azure App Service using Github Actions 【发布时间】:2021-10-16 08:58:25 【问题描述】:我目前使用 github 操作将 next.js 部署到 azure 应用服务时遇到问题。 虽然我正在尝试部署,但我不断收到一条错误消息,提示“没有这样的文件或目录”
yaml文件和下面的一样
Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy Node.js app to Azure Web App - clsreact3
on:
push:
branches:
- master
env:
AZURE_WEPAPP_NAME: clsreact3
AZURE_WEBAPP_PACKAGE_PATH: '.'
NODE_VERSION: '14.x'
jobs:
build-and-deploy:
name: Build and Deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: Use Node.js $ env.NODE_VERSION
uses: actions/setup-node@v1
with:
node-version: $ env.NODE_VERSION
- name: npm install, build, and test
run: |
# Build and test the project, then
# deploy to Azure Web App.
npm install
npm run build --if-present
npm run test --if-present
working-directory: my-app-path
- name: 'Deploy to Azure WebApp'
uses: azure/webapps-deploy@v2
with:
app-name: $ env.AZURE_WEBAPP_NAME
publish-profile: $ secrets.AZURE_WEBAPP_PUBLISH_PROFILE
package: $ env.AZURE_WEBAPP_PACKAGE_PATH
如果需要更多信息,请参阅此处。 https://github.com/scl2589/next.js-tutorial
谢谢:)
【问题讨论】:
不确定错误,但您的项目显示不正确。在 package.json 你有启动脚本(和开发脚本):node server.js
而你的项目没有server.js
文件。此外,避免混合包管理器。我可以看到yarn.lock
和package-lock.json
。您确定该项目甚至可以在您的系统上运行吗?另外,不要结帐node_modules
。将其添加到.gitignore
。
【参考方案1】:
所以你错了working-directory: my-app-path
,为了确保你使用正确的工作目录,请在之前添加这个步骤:
- name: List directory
run: |
ls .
我无法提供更好的答案,因为我不知道您的项目结构。
【讨论】:
【参考方案2】:我正在使用他们的本地 git 部署方法。通过创建一个远程(命名为azure
)引用 azure 应用服务的 git(您可以在部署部分获取它)。
我在我的存储库(在主分支上)完成我的任务,然后我只是这样做来部署
git pull origin master
git push azure master
【讨论】:
以上是关于使用 Github Actions 将 Next.js 部署到 Azure 应用服务的问题的主要内容,如果未能解决你的问题,请参考以下文章
如何将 GitHub Actions 与多个存储库一起使用并部署到 GitHub Pages?
如何将 Docker 与 GitHub Actions 一起使用?
将 Go 项目从 Travis 迁移至 GitHub Actions