因为目前云效制品仓库氛围release snapshot 然后生产环境发布和拉release的jar[阿里云云效]

因为目前云效制品仓库氛围release snapshot 然后生产环境发布和拉release的jar 本地拉不了release。导致有时候上线审批完了,发布的时候应用编译报错。回滚体验不好,有好的处理方法 没?除了增加预发环境

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 针对您描述的问题,我可以提供以下几种处理方法:

    1. 将制品仓库中的release和snapshot分别存放到不同的目录下,然后在项目的pom.xml文件中使用不同的仓库地址。例如,您可以在标签中添加两个不同的仓库地址,分别指向release和snapshot目录。这样可以避免在生产环境中意外地使用到snapshot版本的依赖包。

    2. 在项目中使用Maven的版本管理功能,将依赖包的版本号统一管理,并使用Maven的maven-release-plugin插件进行版本发布。这样可以确保在生产环境中只使用已经经过测试和审批的release版本。

    3. 在流水线中使用Maven的dependency:purge-local-repository命令,清除本地Maven仓库中的所有依赖包和插件。然后在流水线中重新执行Maven构建任务,以从制品仓库中下载最新的release版本的依赖包和插件。这样可以确保在生产环境中使用的依赖包都是最新的release版本。

  2. 对于制品库中的 Release 和 Snapshot 版本,可以考虑在本地使用不同的 Maven 仓库进行管理,这样可以避免因为 Release 和 Snapshot 版本混淆导致的问题。具体步骤如下:

    在本地创建一个新的 Maven 仓库,用于管理 Release 版本。可以使用以下命令创建: mvn install:install-file -DgroupId= -DartifactId=
    -Dversion= -Dfile= -Dpackaging=
    -DgeneratePom=true -DlocalRepositoryPath= 其中,、、、、 需要替换成对应的值, 是本地 Maven 仓库的路径。

    在本地的 Maven 配置文件 settings.xml 中添加新的仓库。可以在 标签中添加以下内容: release-repo release-repo file:// release-repo 其中, 是本地 Maven 仓库的路径。

    在使用 Maven 打包或者编译时,使用 -Dmaven.repo.local= 参数指定本地 Maven 仓库的路径。 这样,就可以在本地使用不同的 Maven 仓库来管理 Release 和 Snapshot 版本,避免混淆导致的问题。同时,也可以在云效中配置使用不同的 Maven 仓库,以便在生产环境发布时使用正确的版本。

  3. 您的那个情况,虽然不清楚您本地为什么拉不了release的依赖,但是要测试使用release的依赖进行构建,这边只能建议您弄个测试环境,此回答整理自钉群“云效开发者交流群6群”