Maven ssh部署覆盖nexus中的工件-这可以防止吗?

Maven ssh部署覆盖nexus中的工件-这可以防止吗?,maven,nexus,maven-deploy-plugin,maven-wagon-plugin,Maven,Nexus,Maven Deploy Plugin,Maven Wagon Plugin,我们正在使用Maven VangSSH和VangSSH外部插件部署到我们的nexus存储库中。这样就可以覆盖nexus中的工件 有没有办法在maven方面防止这种情况?或者我们必须更改工件的WAG或文件系统权限吗?我建议您使用deploy命令或使用。有了这个插件,你可以准备你的pom.xml到下一个版本,它将把这些更改提交给你的版本控制(git,svn)。然后可以运行perform命令来构建准备好的版本并将其部署到nexus中 关键是您可以根据需要重新部署您的工作快照版本(以-snapshot结

我们正在使用Maven VangSSH和VangSSH外部插件部署到我们的nexus存储库中。这样就可以覆盖nexus中的工件


有没有办法在maven方面防止这种情况?或者我们必须更改工件的WAG或文件系统权限吗?

我建议您使用
deploy
命令或使用。有了这个插件,你可以
准备
你的pom.xml到下一个版本,它将把这些更改提交给你的版本控制(git,svn)。然后可以运行
perform
命令来构建准备好的版本并将其部署到nexus中

关键是您可以根据需要重新部署您的工作快照版本(以-snapshot结尾)。但您只能部署一次不带快照的版本。这样可以确保发布版本不会被这种方式覆盖


问题是您必须手动更新您的版本,否则您将使用上面提到的插件。

为什么要使用SSH?我假设您在Nexus的文件系统级别上使用ssh。SSH不是将工件上传到Nexus的方式。使用默认http上载工件,您可以控制覆盖现有工件(版本)。通过“deploy命令”,您需要部署插件吗?难道通过maven发布插件部署不会也使用maven部署插件吗?是的,我指的是标准部署命令,它可能是由maven部署插件提供的。是,
perform
操作将使用另一个插件的
deploy
命令。基本上,发布插件管理pom.xml的版本,当您有更大的子模块项目时,手动维护它会变得更困难。然后部署插件使用maven马车。因此,我们实际上使用的是部署插件。问题是,您可以根据“想要”的频率部署一个没有快照的版本。我认为这并不能回答在使用ssh进行maven部署时限制重新部署的原始问题。我还面临着同样的问题,ssh也能够重新部署发布版本,这是一个相当大的风险。