主题为Azure DevOps和Nexus存储库的新功能。 我的代码在本地Azure DevOps上提交。而且Azure DevOps和Azure注册表的工作方式很好。
但是现在我在使用配置Nexus 感到困难,我需要本教程吗? https://devblogs.microsoft.com/devops/nexus-build-extension-for-team-services/
当是的时候,我可以获取有关此属性的信息:
因为配置这些属性需要这些属性。 在我与Nexus共谋谈话之后,他的意思是它看起来像Maven配置。
那么也许方法是错误的?
结论是我想达到的目标:
我在本地Azure DevOps中提交了代码之后,我想配置一个构建过程,该过程创建一个docker映像,将其移至nexus存储库中。
亲切的问候,
未知
答案 0 :(得分:2)
不,没错。
我们已经在Github中打开了此扩展程序的源代码,请参见此vsts-nexus
回购。
在进行代码分析之前,我们需要了解其逻辑。在此扩展程序中,我们实现了使用 Nexus 2.x Rest API 将文件上传到Nexus Repository Manager的功能,该URI为:
https://local:8081/service/local/artifact/maven/content?r={xx}&g={xx}&a={xx}&v={xx}&p={xx}&c={xx}" > xxx.jar
在此URI中,r
是repositoryId
,g
是groupId
,a
是artifactId
,v
是{ {1}},artifactVersion
是c
,classifier
是p
。这就是为什么您的同事认为它看起来像Maven配置的原因,因为我们正在使用此API作为扩展的逻辑。
请参阅以下脚本文件:NexusTask.ts。
packaging
这是脚本的简短部分。您可以清楚地了解该扩展及其使用的API及其参数。
因此,此扩展程序和任务没有错,只是其逻辑是使用Nexus 2.x API。
但是,您需要注意的是,此扩展仅支持 Nexus 2.x 。如果您使用的是Nexus 3.x,则最好使用Maven pom.xml文件通过Nexus的Maven支持将工件上传到Nexus。
您要构建的是docker镜像,然后将其上传到Nexus,因此您可以使用Docker任务来构建docker镜像,然后使用此任务或Maven将该镜像上传到Nexus。