TeamCity - FTP 上传到 Azure 失败

2023-12-24

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

有 3 个步骤:
1 - Nuget 恢复
2 - 点网发布
3 - FTP 上传

第 2 步之后,我会得到一个文件夹“Output”,其中包含我需要复制到 Azure Web 应用程序的所有内容。
我配置了步骤 3 将此文件夹中的内容复制到我的wwwrootAzure 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(使用前将#替换为@)

TeamCity - FTP 上传到 Azure 失败 的相关文章

随机推荐

  • 当手机中的应用程序进入后台时,Apple Watch 和 iPhone 未连接

    我在模拟器中运行了我的 iPhone 应用程序及其手表扩展 我从手机向手表发送消息 反之亦然 消息发送和接收没有任何问题 但是 当我将 iPhone 应用程序发送到后台 然后从手表向 iPhone 发送消息时 我不断收到以下日志 WC 33
  • 如何在 apollo graphql 服务器中创建嵌套解析器

    给定以下 apollo 服务器 graphql 架构 我想将它们分解为单独的模块 因此我不希望在根查询模式下进行作者查询 并希望将其分开 所以我在将其添加到根查询之前添加了另一个名为authorQueries的层 type Author i
  • 为什么屏幕截图不起作用(黑屏)?

    服务是 允许服务与桌面交互 unit Unit1 interface uses Windows Messages SysUtils Classes Graphics Controls SvcMgr Dialogs type TCopyDes
  • wget 转义特殊字符

    我正在尝试使用 wget 下载该网页的内容 https bibliotheque numerique paris fr search aspx SC DEFAULT Search query ForceSearch f Page 0 Pag
  • 生成复合饼图或饼图饼图

    下面是一个复合饼图的示例 也称为使用 Excel 绘制的饼图 是否可以使用 python 创建这样的图形 是的 这可以通过 matplotlib 实现 下面是改编自的示例here https matplotlib org 3 1 1 gal
  • Sparkfun Edge 引导加载程序问题

    今天终于到了 Sparkfun 板边板 遵循这个写得很好的指南 https codelabs developers google com codelabs sparkfun tensorflow 3 https codelabs devel
  • Sitecore索引重建实践

    在我们的 Sitecore 项目 6 6 0 rev 130404 中 我们拥有超过 200 万个 Sitecore 项目 我们配置了多个 Lucene 索引 每个索引对应这些项目的子集 我们面临的问题是重新构建这些索引所需的时间 特别是对
  • 将图像保存到文件目录

    我正在尝试使用文件目录保存图像 但我无法在没有错误的情况下保存图像 没有这样的文件夹 这是我的代码 我不确定我哪里出错了 Write image to directory func writeImageToPath path String
  • 当没有根标签时使用 lxml 解析 html

    我一直在使用lxml 和formalchemy 为sqlalchemy 构建一个脚手架库 但我很难让它们很好地发挥作用 具体来说 formalchemy FieldSet render 返回没有根标签的 html 片段 我似乎无法弄清楚如何
  • 在Python中生成随机文件名的最佳方法

    在Python中 生成一些随机文本以添加到我保存到服务器的文件 名称 之前的好方法或最佳方法是什么 只是为了确保它不会被覆盖 谢谢你 你可以使用UUID模块 http docs python org library uuid html用于生
  • VSTS - 持续交付 - 发布触发器不适用于标签

    更新2017 02 28 发布触发器中的标签不是源代码控制标签 它们是可以由构建步骤生成的标签 您可以自动标记您的构建 见下文 或在构建过程中手动标记 我还没有尝试过 我对标签的假设是flawed 这使得这个问题几乎无效 不过 我将尝试看看
  • 有没有办法在 Chrome DevTools 中更改时区?

    我用 JavaScript 创建了一个工具 用于确定当前 UTC 时间并检查另一个预定日期是否已经过去 我想将浏览器更改为另一个时区 看看测试是否仍然通过 但我无法找到执行此操作的方法 有没有办法在 Chrome DevTools 中做到这
  • SQL 强制显示十进制值

    我正在使用 Firebird 数据库并尝试以下 sql 但每次它返回 0 而不是 0 61538 等 SELECT COUNT myfield 26 totalcount FROM mytable 现在 当我删除 26 时 总计数将返回 1
  • 有没有办法增加代码本身的Java堆空间? [复制]

    这个问题在这里已经有答案了 可能的重复 是否可以动态更改最大 java 堆大小 https stackoverflow com questions 1091566 is it possible to dynamically change m
  • 在 R 传单中标记鼠标单击事件以获得闪亮效果

    如何在 R 中的传单地图中的标记上接收鼠标单击事件 我正在使用 RStudio 传单并运行 Shiny 我想获取标记的值 例如 ID 并使用它来更新侧边栏面板 你想使用input MAPID marker click 请参阅下面的示例 li
  • C# 中的类型初始化异常

    我将根据教程创建一个学生信息系统 一旦用户想要将新学生添加到数据库中 就会发生以下异常 我尝试了解一些有关 TypeInitializationException 的知识 并且我通过它的名称了解了一些 但我无法完全理解它 此外 我正在遵循的
  • MySQL 备份:我可以将单个 MyISAM 表文件复制到另一台具有不同 MySQL 版本和不同操作系统的服务器吗?

    我的意思是复制单个 MyISAM 表文件是 关闭 mysqld 并将 frm myd 和 myi 文件从一个数据库文件夹复制到另一个数据库文件夹 问题 a 我可以使用这种方式将MySQL数据库文件夹从一台服务器备份到另一台具有不同MySQL
  • 在 Web 开发中 - 哪些 ASP.net 可以做而 PHP 不能做? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何调整 PDF 上的页边距,我需要将 PDF 设置为适合页面

    我的基本脚本运行良好 它完全按照我想要的方式做 它获取 Google Sheet 将其转换为 PDF 然后通过电子邮件将 PDF 发送给我 我的问题是 如何调整 PDF 的页边距 我需要设置 PDF 以适合页面 我不能只调整纸张大小 因为它
  • TeamCity - FTP 上传到 Azure 失败

    我正在尝试使用 TeamCity 构建将 Net Core 2 0 项目部署到 Azure Web 应用程序 有 3 个步骤 1 Nuget 恢复2 点网发布3 FTP 上传 第 2 步之后 我会得到一个文件夹 Output 其中包含我需要