gpt4 book ai didi

build - 是否可以在 Azure DevOps 上的构建管道期间下载文件?

转载 作者:行者123 更新时间:2023-12-05 02:12:00 25 4
gpt4 key购买 nike

我们开始使用 Azure DevOps 来构建和部署我的应用程序。目前,我们不会将应用程序图像上传到我们的存储库。我想知道是否可以将所有图像下载到将在构建管道期间生成的工件。

我的 yml 管道:扳机:- 发展

池: vmImage: 'windows-最新'

变量: 解决方案:'**/*.sln' buildPlatform: '任何 CPU' buildConfiguration: '发布'

步骤:- 任务:NuGetToolInstaller@0

  • 任务:NuGetCommand@2输入:restoreSolution: '$(解决方案)'

  • 任务:Npm@1输入:命令:'安装'workingDir: 'applicationFolder/app'

  • 任务:VSBuild@1输入:解决方案:'$(解决方案)'msbuildArgs: '/p:DeployOnBuild=true/p:WebPublishMethod=Package/p:PackageAsSingleFile=true/p:SkipInvalidConfigurations=true/p:PackageLocation="$(build.artifactStagingDirectory)"'平台:'$(buildPlatform)'配置:'$(buildConfiguration)'

  • 任务:PublishBuildArtifacts@1输入:PathtoPublish: '$(Build.ArtifactStagingDirectory)'工件名称:'drop'publishLocation: '容器'

最佳答案

Is it possible to download files during the build pipeline on Azure DevOps?

简短的回答是肯定的。

没有现成的任务可以从 FTP 服务器下载文件。只有FTP Upload task将文件上传到 FTP 服务器而不是下载。

因此,为了解决这个问题,我们可以使用 powershell 脚本连接到 FTP 服务器并下载文件:

脚本如:

#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 Connect to FTP server and get files .

然后通过任务PublishBuildArtifacts将这些下载文件发布到Artifacts。

希望这对您有所帮助。

关于build - 是否可以在 Azure DevOps 上的构建管道期间下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56633042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com