在 pipeline/release 中使用 azure powershell 将数据从一个插槽复制到另一个插槽
Using azure powershell to copy data from one slot to another in pipeline/release
我已经在 azure devops 中创建了一个管道并发布,但在我执行插槽交换之前,我需要 从 [=21] 复制文件=] 插槽到我的 'staging' 插槽 。这是因为我们的客户将文件上传到 webapp 本身(至少现在是这样)。
我一直在做一些研究,我认为这对于 azure devops 中的任务是不可能的。不过,我认为可以使用 powershell。
以前有人做过吗?
开箱即用是不可能的。但是您可以在 FTP 上执行此操作。 Here 您有一个如何配置 FTP 访问您的网络应用程序的示例。插槽也是一样的。所以你需要的是:
- 在您的
production
插槽上配置 FTP 访问权限
- 在您的插槽上配置 FTP 访问权限
- 从
production
插槽复制文件 - 不幸的是,这里没有开箱即用的任务来执行此操作,因此您需要使用 之类的 powershell
- 使用 FTP Upload task
将任务上传到您的位置
如果您的广告位没有长期存在并且您自动创建它,情况会变得更糟。我不是 100% 确定,但我想到 production
插槽的实际凭据可能也适用于其他插槽。所以你可以跳过第二个项目符号,它不应该是动态创建的插槽的问题。
示例 powershell 任务:
我已经在 azure devops 中创建了一个管道并发布,但在我执行插槽交换之前,我需要 从 [=21] 复制文件=] 插槽到我的 'staging' 插槽 。这是因为我们的客户将文件上传到 webapp 本身(至少现在是这样)。
我一直在做一些研究,我认为这对于 azure devops 中的任务是不可能的。不过,我认为可以使用 powershell。
以前有人做过吗?
开箱即用是不可能的。但是您可以在 FTP 上执行此操作。 Here 您有一个如何配置 FTP 访问您的网络应用程序的示例。插槽也是一样的。所以你需要的是:
- 在您的
production
插槽上配置 FTP 访问权限 - 在您的插槽上配置 FTP 访问权限
- 从
production
插槽复制文件 - 不幸的是,这里没有开箱即用的任务来执行此操作,因此您需要使用 之类的 powershell
- 使用 FTP Upload task 将任务上传到您的位置
如果您的广告位没有长期存在并且您自动创建它,情况会变得更糟。我不是 100% 确定,但我想到 production
插槽的实际凭据可能也适用于其他插槽。所以你可以跳过第二个项目符号,它不应该是动态创建的插槽的问题。
示例 powershell 任务: