TeamCity-FTP上传到Azure失败 [英] TeamCity - FTP Upload to Azure fails

查看:174
本文介绍了TeamCity-FTP上传到Azure失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用TeamCity构建将.Net Core 2.0项目部署到Azure Web应用.

I am trying to deploy a .Net Core 2.0 project to an Azure web app using a TeamCity build.

共有3个步骤:
1-Nuget Restore
2-dotnet发布
3-FTP上传

There are 3 steps :
1 - Nuget Restore
2 - dotnet publish
3 - FTP Upload

在步骤2之后,我得到一个文件夹输出",其中包含所有需要复制到我的Azure Web应用程序中的内容.
我将步骤3配置为将内容从此文件夹复制到Azure FTP上的wwwroot文件夹中.此步骤将复制3个DLL,然后显示以下消息:

After step 2, I get a folder "Output" with all the stuff I need to copy to my Azure web app.
I configured step 3 to copy the content from this folder to my wwwroot folder on the Azure FTP. This step copies 3 DLLs and then displays the following message :

[步骤3/3]部署问题:无法通过FTP上传工件.答复是:550该进程无法访问文件,因为该文件正在被另一个进程使用.

[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] 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端.

I tried to upload the files using FileZilla and everything was ok so I guess the issue is on the TeamCity side.

推荐答案

您必须先停止Azure应用程序:

You have to stop Azure app first:

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"步骤),然后重新启动应用程序:

Then do FTP upload (your "Copy to Azure" step above), then start the app back:

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项目中的参数,您就可以开始使用

Just fulfill the parameters in the TeamCity project and you're ready to go

P.S.有时您必须在停止"尝试之后稍等片刻,因为事情是异步的

P.S. Sometimes you have to wait a bit after the "stop" attempt, as the thing is async

P.P.S.由于Azure CLI工具中的错误,可能需要将两个"az"命令都加入到一个单行脚本中(因为如果在非交互式帐户(如SYSTEM)下运行,则在成功执行第一个az命令后它们可能会静默失败),因此您可以相应地执行"az登录&&az停止"和"az登录&&az开始".

P.P.S. It may be required to join both "az" commands into one-liner script due a bug in Azure CLI tools (as they can fail silently after successfully executing very first az command if run under non-interactive account like SYSTEM), so you could do "az login && az stop" and "az login && az start" accordingly.

P.P.P.S. https://docs.microsoft.com/en-us/cli/azure/install-azure-cli

P.P.P.S. https://docs.microsoft.com/en-us/cli/azure/install-azure-cli

这篇关于TeamCity-FTP上传到Azure失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆