使用 Azure Devops Pipeline 将数据复制到没有 public 网络访问权限的存储帐户
Copy data using Azure Devops Pipeline to a storage account with no public network acces
我正在尝试使用以下指南备份 Azure DevOps 存储库:https://charbelnemnom.com/how-to-backup-azure-devops-git-repositories/
我的 YAML 文件如下:
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
branches:
include:
- '*'
stages:
- stage: _default
jobs:
- job: Job
pool:
vmImage: windows-latest
steps:
- task: CmdLine@2
inputs:
script: git clone --mirror https://PATTokenXXXX@dev.azure.com/btc-cloud/test/_git/testrepo
- task: ArchiveFiles@2
inputs:
rootFolderorFile: $(System.DefaultWorkingDirectory)/testrepo.git
includeRootFolder: true
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/Backup.zip
- task: AzureFileCopy@3
displayName: AzureBlob File Copy
inputs:
SourcePath: $(Build.ArtifactStagingDirectory)/Backup.zip
azureSubscription: test backup of devops repo
Destination: AzureBlob
storage: 'storageaccountname'
ContainerName: 'devopsbackup'
BlobPrefix: 'az-devops-repo-backup'
只要 Public Network Access
在 Enabled from all networks
上,管道就可以正常工作。但是当我禁用 public 网络访问时,管道不再工作。有没有办法实现管道以使用专用网络,也许是通过专用端点?但是由于我看不到如何将 DevOps 管道添加到专用网络的方法,所以当存储帐户禁用 public 网络访问时,我有点不知道如何使管道工作。有人可能知道该怎么做或知道备份 Azure DevOps 项目的替代方法吗?
谢谢并致以最诚挚的问候!
您需要 运行 在可以访问您的专用网络的计算机上安装代理。
通常这可以通过使用 self-hosted 代理(安装在 VM、VMSS 或容器实例上)访问您的专用网络来实现。
如果您使用 Azure DevOps,您可以从组织设置中添加新池。
默认 Azure 代理使用 public 访问权限,将无法访问仅限于专用网络的存储帐户。
您可能会找到更多详细信息here
我正在尝试使用以下指南备份 Azure DevOps 存储库:https://charbelnemnom.com/how-to-backup-azure-devops-git-repositories/
我的 YAML 文件如下:
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
branches:
include:
- '*'
stages:
- stage: _default
jobs:
- job: Job
pool:
vmImage: windows-latest
steps:
- task: CmdLine@2
inputs:
script: git clone --mirror https://PATTokenXXXX@dev.azure.com/btc-cloud/test/_git/testrepo
- task: ArchiveFiles@2
inputs:
rootFolderorFile: $(System.DefaultWorkingDirectory)/testrepo.git
includeRootFolder: true
archiveType: zip
archiveFile: $(Build.ArtifactStagingDirectory)/Backup.zip
- task: AzureFileCopy@3
displayName: AzureBlob File Copy
inputs:
SourcePath: $(Build.ArtifactStagingDirectory)/Backup.zip
azureSubscription: test backup of devops repo
Destination: AzureBlob
storage: 'storageaccountname'
ContainerName: 'devopsbackup'
BlobPrefix: 'az-devops-repo-backup'
只要 Public Network Access
在 Enabled from all networks
上,管道就可以正常工作。但是当我禁用 public 网络访问时,管道不再工作。有没有办法实现管道以使用专用网络,也许是通过专用端点?但是由于我看不到如何将 DevOps 管道添加到专用网络的方法,所以当存储帐户禁用 public 网络访问时,我有点不知道如何使管道工作。有人可能知道该怎么做或知道备份 Azure DevOps 项目的替代方法吗?
谢谢并致以最诚挚的问候!
您需要 运行 在可以访问您的专用网络的计算机上安装代理。 通常这可以通过使用 self-hosted 代理(安装在 VM、VMSS 或容器实例上)访问您的专用网络来实现。
如果您使用 Azure DevOps,您可以从组织设置中添加新池。
默认 Azure 代理使用 public 访问权限,将无法访问仅限于专用网络的存储帐户。
您可能会找到更多详细信息here