发布管道powershell任务以使用azure存储库中的文件进行文件的临时下载(如何讲述)

问题描述 投票:0回答:1

这应该是一件愚蠢而简单的事情...... 只需使用 powershell 任务从 azure 存储库下载 .js 文件,使用 powershell 任务告诉 azure 代理服务器运行命令将 .js 导入 mongodb 加载文件。

这对我来说是新的,但我做了一些研究。我想到了什么。

#Download to local path from Azure Repository
$organization = "HappyBalloons"
        $project = "99RedBalloons"
        $repository = "BagofBalloons"
        $path = "/api/red2/front-end-happy/_Mike99Balloon.js"
        $version = "99main"

        
        $pat = "$(System.AccessToken)" 

        $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($pat)"))

        $url = "https://dev.azure.com/repositoryURL"

        $response = Invoke-RestMethod -Uri $url -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method Get

        # Download File
        $response.content | Set-Content -Path "$(System.DefaultWorkingDirectory)/downloaded-files/_Mike99Balloon.js" -Force
      
     

     #FilePath
      $FilePath = "$(System.DefaultWorkingDirectory)/downloaded-files/_Mike99Balloon.js"

我真的需要项目 PAT 吗? 或者有没有更好的方法我看不到(树木为森林之类的东西)

$pat = "$(System.AccessToken)" 

        $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($pat)"))

所以我更新了

$pat = "$(System.AccessToken)" to be "$env:System_AccessToken"

现在似乎可以工作了。或者至少不会被它噎住。

azure-devops azure-powershell azure-pipelines-release-pipeline azure-repos
1个回答
0
投票

如果您使用发布管道,则可以将存储库作为工件包含在内,然后这些文件将自动下载到您配置要包含的阶段的代理上。

© www.soinside.com 2019 - 2024. All rights reserved.