myasp.net - 部署服务器 FTPError:550 该进程无法访问该文件,因为该文件正在被另一个进程使用

问题描述 投票:0回答:1

这是我的错误:

deployServer - FTPError: 550 该进程无法访问该文件,因为该文件正在被另一个进程使用。

这是我用于进行持续部署的 yaml 代码:

name: Deploy server
on:
push:
branches:
- main
jobs:
deployServer:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2

- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 8.0.x

- name: Install dependencies
run: dotnet restore
- name: Configure Git
run: |
git config --global core.fsmonitor false

- name: Build with dotnet
run: dotnet build --configuration Release --no-restore
working-directory: ./Biblia_Commentatione

- name: Test
run: dotnet test --no-restore --verbosity normal

- name: Install EF Core tool
run: dotnet tool install --global dotnet-ef

- name: Restore tools
run: dotnet tool restore

- name: Migrate
run: |
cd Biblia_Commentatione
dotnet tool restore
dotnet ef database update --connection "${{ secrets.CONNECTION_STRING }}"
cd ..

- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 8.0.x

- name: Publish
run: dotnet publish -c Release --output ./bin/Release/.net8.0
working-directory: ./Biblia_Commentatione

- name: FTP Deploy
uses: SamKirkland/[email protected]
with:
server: win5161.site4now.net
username: ${{ secrets.MYASP_USERNAME }}
password: ${{ secrets.MYASP_PASSWORD }}
local-dir: ./Biblia_Commentatione/bin/Release/.net8.0/
server-dir: BibliaCommentatione/

因此,当我重新启动池并再次运行工作流程时,有时它可以进行第二次尝试

但是每次触发操作时都会发生此错误(在主分支中合并拉取请求)🥲我认为这是因为应用程序处于活动状态。

我想要的是:找到一个解决方案,以便我能够每次为我的应用程序进行连续部署,而不会阻止文件,因此我必须在根据需要重新启动池时手动重新运行。

你觉得我能做什么?你觉得我的剧本有什么地方不对吗?

我也想知道问题的根源:为什么我的文件一直被阻止,我是否做了一些不应该做的事情?...

所以我在想:

  1. 找到一种在我的 yaml 脚本中每次触发连续部署时重新启动池的方法
  2. 找到一种方法让myasp.net无法阻止任何文件

但是如何让这些发挥作用,我不知道。也许你可以帮我解决这个问题?

只是想知道,我是 myasp.net 唯一在持续部署方面存在问题的客户端还是 myasp.net 的已知问题?

github yaml github-actions continuous-deployment
1个回答
0
投票

您还需要帮助吗?

我可以通过在上传内容之前上传文件来修复它。

我创建了一个上传名为 app_offline.htm 的文件的任务。这将使服务器停止 AppPool,之后,我执行任务来上传我的内容。 需要启用“清除远程目录内容”以确保删除 app_offline 文件并重新启动 AppPool。

© www.soinside.com 2019 - 2024. All rights reserved.