docker Azure DevOps 10MB安全文件替代方案

vhmi4jdf  于 2022-12-18  发布在  Docker
关注(0)|答案(2)|浏览(133)

我必须将第三方模块集成到我们的容器化Docker解决方案中。在我的本地开发中,它运行良好,因为我可以下载磁盘上的映像3rdParty_file_name. tar并使用它:

docker load --input .\3rdParty_file_name.tar

当我必须在Azure Devops中执行相同操作时,问题出现。如何将映像 3rdParty_file_name.tar 集成到容器生成管道中?我无法上载映像,因为Azure DevOps\Library\Secure files功能中存在10MB的限制。

2hh7jdfx

2hh7jdfx1#

Azure Storage account是消除10MB文件大小限制的好方法。

1.将您的.tar上载到容器。

2.在Azure管道中,您可以使用Azure CLI任务执行az存储blob下载命令。

脚本示例:

mkdir $(Build.SourcesDirectory)\BlobFile
az storage blob download --container-name $(containername) --file $(Build.SourcesDirectory)\BlobFile\"sample.tar" --name "sample.tar"--account-key $(accountkey) --account-name $(accountname)
cd $(Build.SourcesDirectory)\BlobFile
ls
ql3eal8s

ql3eal8s2#

另一个成本为0的选项是将.tar文件上载到内部服务器上,公开公共IP,并在管道中使用Invoke-WebRequest命令:

- task: PowerShell@2
  displayName:  Downloading {{imageName}} from {{serverName}}
  inputs:
    targetType: 'inline'
    script:  Invoke-WebRequest -Uri https://websitename.ch/path/to/the/file/3rdParty_file_name.tar' -OutFile '.\3rdParty_file_name.tar' -UseBasicParsing -Credential (New-Object PSCredential('$(serverUsername)', (ConvertTo-SecureString -AsPlainText -Force -String'$(serverPassword)')))

相关问题