Azure DevOps(本地)| Nexus存储库的配置构建过程和Docker映像创建

时间:2019-09-05 07:38:42

标签: azure-devops nexus azure-devops-extensions

主题为Azure DevOps和Nexus存储库的新功能。 我的代码在本地Azure DevOps上提交。而且Azure DevOps和Azure注册表的工作方式很好。

但是现在我在使用配置Nexus 感到困难,我需要本教程吗? https://devblogs.microsoft.com/devops/nexus-build-extension-for-team-services/

当是的时候,我可以获取有关此属性的信息:

  • 存储库ID
  • 组ID
  • 工件ID
  • 工件版本,..

因为配置这些属性需要这些属性。 在我与Nexus共谋谈话之后,他的意思是它看起来像Maven配置。

那么也许方法是错误的?

结论是我想达到的目标:

我在本地Azure DevOps中提交了代码之后,我想配置一个构建过程,该过程创建一个docker映像,将其移至nexus存储库中。

亲切的问候,

未知

1 个答案:

答案 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中,rrepositoryIdggroupIdaartifactIdv是{ {1}},artifactVersioncclassifierp。这就是为什么您的同事认为它看起来像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。