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

云效API中两条流水线 执行相同的Java代码构建。一条构建出来会少一些jar包? 清除流水线缓存只

云效API中两条流水线 执行相同的Java代码构建。一条构建出来会少一些jar包? 清除流水线缓存只会清除云端缓存,但是构建的时候是保存在本地缓存。这里使用起来有点误解

展开
收起
真的很搞笑 2023-07-05 10:50:32 106 0
2 条回答
写回答
取消 提交回答
  • 在云效中,清除流水线缓存通常是指清除云端构建缓存,而不是本地缓存。当您执行流水线时,云效会使用本地机器上的构建代理,在构建过程中下载所需的依赖包并保存到本地缓存中,以提高后续构建的速度。这个本地缓存通常是基于Maven仓库的。

    清除流水线缓存操作只会清除云端缓存(如Docker镜像、构建产物等),而不会直接影响本地缓存。如果您在两条流水线中执行相同的Java代码构建,但其中一条构建出来少了一些JAR包,那可能是由于以下原因:

    1. 项目配置不同:请确保两条流水线的项目配置(如POM文件、依赖管理)是一致的,以避免不同的构建结果。

    2. 本地缓存问题:由于本地缓存的存在,可能会导致构建结果在不同环境下有差异。如果您在构建过程中发现缺失某些JAR包,可以尝试清除本地缓存,并重新执行构建。

    要清除本地缓存,可以尝试执行以下步骤:

    • 停止本地构建代理(Agent)进程。
    • 找到本地构建代理的缓存目录(通常是~/.m2/repository),并删除其中的内容。
    • 重新启动本地构建代理,并执行构建。

    请注意,清除本地缓存可能会导致构建过程较慢,因为需要重新下载依赖包。

    如果问题仍然存在,建议检查两条流水线的配置、构建环境和依赖管理,以及确保项目代码和依赖项都是完整和正确的。如有必要,请与云效的技术支持团队联系,以获取更详细的帮助和指导。

    2023-07-31 10:18:03
    赞同 展开评论 打赏
  • 您在pom.xml里定义这些包了吗?这些包在哪里储存着呢?是的 可以 使用私有构建机的时候存储在云端,这样清理起来比较方便,但是可能会产生上传缓存的公网费用,此回答整理自钉群“云效API反馈(外部用户)”

    2023-07-05 10:56:08
    赞同 展开评论 打赏

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

热门讨论

热门文章

相关电子书

更多
基于英特尔 SSD 的虚拟机缓存解决SSD 立即下载
用户态高速块缓存方案 立即下载
高性能Web架构之缓存体系 立即下载