当前位置: 首页 > 知识库问答 >
问题:

在Azure运营模式上的构建管道期间是否可以下载文件/数据?

张德佑
2023-03-14

我们希望通过 azure DevOps 将开发转移到另一家公司,我们问自己,是否不仅可以通过此管道推送新版本。但是,也可以通过 Azure 开发运营或 aws 开发运营管道从生产环境中下载数据?我研究了自己,但什么也没发现。

你们有这方面的更多信息吗?

谢谢

共有2个答案

柴嘉年
2023-03-14

当工件在您的“环境”中时,您应该使用它。

否则,您可以使用正常的命令行工具,如gitcurl,这取决于您的构建代理。

连乐
2023-03-14

在Azure运营模式上的构建管道期间是否可以下载文件/数据?

在Azure运营模式下,没有下载文件/数据的任务,但可以使用PowerShell任务连接到FTP服务器并下载文件。

有关详细信息,您可以参考此类似问题。

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      #FTP Server Information - SET VARIABLES
      $ftp = "ftp://XXX.com/" 
      $user = 'UserName' 
      $pass = 'Password'
      $folder = 'FTP_Folder'
      $target = "C:\Folder\Folder1\"
      
      #SET CREDENTIALS
      $credentials = new-object System.Net.NetworkCredential($user, $pass)
      
      function Get-FtpDir ($url,$credentials) {
          $request = [Net.WebRequest]::Create($url)
          $request.Method = [System.Net.WebRequestMethods+FTP]::ListDirectory
          if ($credentials) { $request.Credentials = $credentials }
          $response = $request.GetResponse()
          $reader = New-Object IO.StreamReader $response.GetResponseStream() 
          while(-not $reader.EndOfStream) {
              $reader.ReadLine()
          }
          #$reader.ReadToEnd()
          $reader.Close()
          $response.Close()
      }
      
      #SET FOLDER PATH
      $folderPath= $ftp + "/" + $folder + "/"
      
      $files = Get-FTPDir -url $folderPath -credentials $credentials
      
      $files 
      
      $webclient = New-Object System.Net.WebClient 
      $webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass) 
      $counter = 0
      foreach ($file in ($files | where {$_ -like "*.txt"})){
          $source=$folderPath + $file  
          $destination = $target + $file 
          $webclient.DownloadFile($source, $target+$file)
      
          #PRINT FILE NAME AND COUNTER
          $counter++
          $counter
          $source
      }

证书来自:PowerShell连接到FTP服务器并获取文件。

 类似资料:
  • 我们开始使用Azure DevOps来构建和部署我的应用。目前,我们不会将应用程序映像上传到我们的repo。我想知道我是否可以将所有图像下载到构建管道期间将要生成的工件中。 我的 yml 管道 : 触发器: - 开发 池:vmImage:'windows-latest' 变量: 解决方案: “**/*.sln” 构建平台: “任何 CPU” 构建配置: “发布” 步骤: - 任务:NuGetToo

  • 我想知道是否可以在 Azure DevOps 生成管道“发布项目”任务中有条件地设置生成项目的名称?我想根据生成管道的输入生成不同的项目。例如,基于输入管道变量,我想生成三个工件之一(“红色”,“蓝色”,“绿色”)。是否可以根据输入变量指定在我的“发布项目”任务中生成的项目,或者仅生成三个生成管道是否更容易/更好?

  • 我现在有一个Azure DevOps发布管道,其中包含测试、验收和生产阶段,它们是按顺序触发的。当有新的生成可供部署时,将触发测试。 我遇到的问题是,所有阶段目前都部署了完全相同的工件。但这是错误的,因为它们部署到不同的环境,需要有自己版本的Web.config. 如何更改设置,使所有环境都能获得正确的软件包?我是否应该更改生成设置,以便为多个不同的配置生成,还是应该为每个环境分别生成?我如何选择

  • 我在配置Azure DevOps Dotnet核心构建过程时遇到问题。 我有一个简单的dotnet核心项目,我正试图在azuredevops环境中构建它。 该项目在我的repo中的一个子文件夹中,但是我不知道如何指定管道应该如何找到我的csproj文件。MSDN留档建议您可以指定它,但没有示例,我所有的尝试都遇到了错误。 使用标准dotnet CLI模板构建管道时,创建的YAML是: 然而,这是遇

  • 我正在尝试在Azure DevOps(内部部署)中配置发布管道以支持git流策略。我正在努力实现的目标: promise“发布/*”触发软件的构建并发布到QA的位置 promise“主控”从步骤1获取相同的软件构建(工件),并发布到生产位置 因此,当我做一个git-flow开始发布时,软件可用于测试/质量保证,当我完成发布时,它可供用户使用。 我的构建管道工作正常,它由发布分支触发,并以发布工件任

  • 有没有办法在Java-Spring框架中使用rest模板将文件上传到Azure blob存储?我看到了所有使用SDK的例子,它是成功的,但我们被告知不要使用SDK-Java。我知道这个问题有10000英尺高,但任何指针/方向都会有很大帮助。