我在PowerShell中创建了一个自定义的Nexus上传脚本,以将构建工件从工件暂存目录上载到Nexus存储库。在PS脚本中,我正在运行以下命令,因此构建管道与Nexus存储库中的工件相关联。但是我不确定要为工件类型添加什么,根据文档,似乎选项是container | filepath | versioncontrol | gitref | tfvclabel。
Write-Host "##vso[artifact.associate artifacttype=filepath;artifactname=$fileName]http://nexusDNS:8081/repository/$Repository"
无论如何,在将构建管道与发布管道相关联之后,我运行了一个发行版,它将首先尝试下载链接的工件,这就是我得到的消息。
从以下位置下载工件Testartifact.zip:http:\ nexusDNS:8081 \ repository \ Test \ Testartifact.zip
因为我将artifacttype声明为“ filepath”,所以它将http://转换为http:。
有人可以帮助我如何使发布渠道直接从Nexus下载工件吗?作为发布任务的一部分,我是否需要编写另一个脚本来使用Nexus API下载工件?
答案 0 :(得分:0)
您可以尝试Sonatype Nexus Repository Release Artifact扩展名。该扩展利用发行版管道提供对Nexus Maven储存库的支持,初始版本包括对Nexus Maven储存库的Release Pipeline Artifact支持,并提供Azure管道任务以从Maven储存库下载资产。
此扩展程序要求您首先配置服务连接以连接到Nexus Repository服务器(project settings -> Services Connections tab and create a New Service Connection of type Sonatype Nexus Repository)
。建立连接后,您可以链接Nexus Maven存储库中的源工件,并在发布管道中使用这些工件。
此外,您还可以使用REST API从nexus存储库下载工件。有关详细信息,请参阅此ticket。
wget "http://local:8081/service/local/artifact/maven/redirect?g=com.mycompany&a=my-app&v=LATEST" --content-disposition