我正在尝试使用 TeamCity 构建将 .Net Core 2.0 项目部署到 Azure Web 应用程序。
有 3 个步骤:
1 - Nuget 恢复
2 - 点网发布
3 - FTP 上传
第 2 步之后,我会得到一个文件夹“Output”,其中包含我需要复制到 Azure Web 应用程序的所有内容。
我配置了步骤 3 将此文件夹中的内容复制到我的wwwroot
Azure FTP 上的文件夹。此步骤复制 3 个 DLL,然后显示以下消息:
[步骤 3/3] 部署问题:无法通过 FTP 上传工件。答复是:550 该进程无法访问该文件,因为该文件正在被另一个进程使用。
这是配置:
以下是代理上的日志:
[Step 3/3] Uploaded [C:\BuildAgent\work\Output\MyLib\AutoMapper.Net4.dll] (28 KB)
[Step 3/3] > TYPE I
[Step 3/3] < 200 Type set to I.
[Step 3/3] > PASV
[Step 3/3] < 227 Entering Passive Mode (137,135,184,233,39,161).
[Step 3/3] > STOR AutoMapper.dll
[Step 3/3] < 125 Data connection already open; Transfer starting.
[Step 3/3] < 226 Transfer complete.
[Step 3/3] > CWD /site/wwwroot
[Step 3/3] < 250 CWD command successful.
[Step 3/3] Uploaded [C:\BuildAgent\work\Output\MyLib\AutoMapper.dll] (163 KB)
[Step 3/3] > TYPE I
[Step 3/3] < 200 Type set to I.
[Step 3/3] > PASV
[Step 3/3] < 227 Entering Passive Mode (137,135,184,233,39,168).
[Step 3/3] > STOR MyLib.PrecompiledViews.dll
[Step 3/3] < 550 The process cannot access the file because it is being used by another process.
[Step 3/3] Deployment problem: Failed to upload artifacts via FTP. Reply was: 550 The process cannot access the file because it is being used by another process.
[Step 3/3] Step Copy to Azure (FTP Upload) failed
我尝试使用 FileZilla 上传文件,一切正常,所以我猜问题出在 TeamCity 方面。
您必须先停止Azure应用程序:
az login --username %AZURE_OWNER_ACCOUNT% --password %AZURE_OWNER_PASSWORD% --tenant %AZURE_TENANT_ID%
az webapp stop --name %AZURE_APP% --resource-group %AZURE_RESOURCE_GROUP% --subscription %AZURE_SUBSCRIPTION_ID%
然后进行 FTP 上传(上面的“复制到 Azure”步骤),然后重新启动应用程序:
az login --username %AZURE_OWNER_ACCOUNT% --password %AZURE_OWNER_PASSWORD% --tenant %AZURE_TENANT_ID%
az webapp start --name %AZURE_APP% --resource-group %AZURE_RESOURCE_GROUP% --subscription %AZURE_SUBSCRIPTION_ID%
只需满足 TeamCity 项目中的参数即可开始
附:有时您必须在“停止”尝试后稍等一下,因为事情是异步的
附言由于 Azure CLI 工具中的错误,可能需要将两个“az”命令加入单行脚本中(因为如果在 SYSTEM 等非交互式帐户下运行,它们在成功执行第一个 az 命令后可能会默默失败),因此您可以相应地执行“az login && az stop”和“az login && az start”。
PPPShttps://learn.microsoft.com/en-us/cli/azure/install-azure-cli https://learn.microsoft.com/en-us/cli/azure/install-azure-cli
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)