我有一个GitHub自托管运行器设置来部署Next.js应用程序,该应用程序签出存储库,构建并重新启动pm2。
问题是每当actions/checkout@v2
步骤启动时,它都会删除存储库中的所有文件,包括包含所有构建文件的构建文件夹.next
。这将导致每当工作流运行时应用程序的停机时间。
我浏览了actions/checkout@v2
的源代码,在问这个问题的时候,在这个从#109行开始的文件中,写了删除目录内容的逻辑。如果我的理解是正确的,我一定是设置了git-lfs来防止文件被删除。我现在不需要git-lfs。
我可以提交一个拉请求有一个配置,防止删除目录内的文件。我错过什么了吗?这个问题有什么解决办法吗?
我当前的工作流程文件,更清晰,
name: Build & Deploy
defaults:
run:
shell: bash -l {0}
on:
push:
branches: master
jobs:
build:
runs-on: self-hosted
steps:
# This action deletes all my build files when it runs
- uses: actions/checkout@v2
with:
clean: false
- name: Install dependencies
uses: bahmutov/npm-install@v1
- name: Build
run: npm run build
- name: Deploy
run: pm2 restart myApp || pm2 start npm --name "myApp" -- start
修复此问题。似乎配置clean: false
第一次不起作用。更多信息可在此GitHub问题注释中获得。