因为目前云效制品仓库氛围release snapshot 然后生产环境发布和拉release的jar 本地拉不了release。导致有时候上线审批完了,发布的时候应用编译报错。回滚体验不好,有好的处理方法 没?除了增加预发环境
因为目前云效制品仓库氛围release snapshot 然后生产环境发布和拉release的jar[阿里云云效]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
因为目前云效制品仓库氛围release snapshot 然后生产环境发布和拉release的jar 本地拉不了release。导致有时候上线审批完了,发布的时候应用编译报错。回滚体验不好,有好的处理方法 没?除了增加预发环境
针对您描述的问题,我可以提供以下几种处理方法:
将制品仓库中的release和snapshot分别存放到不同的目录下,然后在项目的
pom.xml
文件中使用不同的仓库地址。例如,您可以在
标签中添加两个不同的仓库地址,分别指向release和snapshot目录。这样可以避免在生产环境中意外地使用到snapshot版本的依赖包。在项目中使用Maven的版本管理功能,将依赖包的版本号统一管理,并使用Maven的
maven-release-plugin
插件进行版本发布。这样可以确保在生产环境中只使用已经经过测试和审批的release版本。在流水线中使用Maven的
dependency:purge-local-repository
命令,清除本地Maven仓库中的所有依赖包和插件。然后在流水线中重新执行Maven构建任务,以从制品仓库中下载最新的release版本的依赖包和插件。这样可以确保在生产环境中使用的依赖包都是最新的release版本。对于制品库中的 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 仓库,以便在生产环境发布时使用正确的版本。
您的那个情况,虽然不清楚您本地为什么拉不了release的依赖,但是要测试使用release的依赖进行构建,这边只能建议您弄个测试环境,此回答整理自钉群“云效开发者交流群6群”