开发者社区 > 云效DevOps > 正文

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

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

展开
收起
真的很搞笑 2023-04-11 12:26:02 203 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    针对您描述的问题,我可以提供以下几种处理方法:

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

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

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

    2023-04-26 23:15:52
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    对于制品库中的 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 仓库,以便在生产环境发布时使用正确的版本。

    2023-04-17 16:15:25
    赞同 展开评论 打赏
  • 您的那个情况,虽然不清楚您本地为什么拉不了release的依赖,但是要测试使用release的依赖进行构建,这边只能建议您弄个测试环境,此回答整理自钉群“云效开发者交流群6群”

    2023-04-11 21:26:21
    赞同 展开评论 打赏

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

相关电子书

更多
云效助力企业软件供应链生产效能提升 立即下载
云效 DevOps 客户案例集(公共云) 立即下载
云效 立即下载