V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mio4kon
V2EX  ›  Kubernetes

大佬们,用 k8s+Jenkins 去构建 Android 的话 gradle 缓存怎么搞?

  •  
  •   mio4kon · 58 天前 via iPhone · 1169 次点击
    这是一个创建于 58 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在是 gradle home 的缓存放在 nfs 服务器上,然后 pod 挂载 gradle 缓存的 pvc,但是多个 pod 并行执行的话会有文件锁直接导致报错。

    现在的想法是每次构建前把 nfs 的缓存目录 copy 到 pod 的 gradle home,但是 gradle home 太大了( 15g 左右),本机 cp 都要几分钟,影响构建时间,而且如何更新 gradle home 的内容也很麻烦

    大佬们有没有好的解决方案?
    13 条回复    2021-08-02 08:39:42 +08:00
    tanhui2333
        1
    tanhui2333   58 天前
    如果非上 k8s,固定节点加 local 存储更合适吧
    kwanzaa
        2
    kwanzaa   58 天前
    文件变动之后 resync?
    mio4kon
        3
    mio4kon   58 天前 via iPhone
    @tanhui2333 是的,如果没有好的方案只能固定节点数量了,不过每次构建可能就不是干净的容器了,构建脚本我们现在是暴露出去的,担心其他人乱改影响稳定性
    mio4kon
        4
    mio4kon   58 天前 via iPhone
    @kwanzaa 相当于容器构建完了不能销毁,然后一直同步 gradle 缓存?
    kwanzaa
        5
    kwanzaa   58 天前
    @mio4kon 也可以将目录挂载到容器里面
    Mystery0
        6
    Mystery0   58 天前 via Android
    一个项目一个缓存目录?
    sampeng
        7
    sampeng   58 天前
    java 项目。。而且你都 k8s+jenkins 了。说明有足够机器。你不内网做个仓库么?
    内网有 gradle 仓库,完全不需要缓存。
    gradle 缓存在 k8s+jenkins 方案里有各种奇怪的问题出现。比较折腾。
    本来编译就慢,3 分钟和 3 分钟 30 秒。没什么太大感觉上的差异。。而且不用折腾。很舒服。。
    sampeng
        8
    sampeng   58 天前
    另外也不需要 copy 。gradle 有参数指定缓存目录。我第一个方案就是这样。但是不定期死锁。不要问我为什么。。。。用了半年我觉得有点崩溃。换一个。pod 不销毁。jenkins 的那个 pod 居然有大小限制。。多了就 disk full 。。。跑了 3 个月。。放弃。
    现在这个方案最舒服。用完就销毁。啥都不耽误。半年没管过他。就老老实实打包就好了
    xuanbg
        9
    xuanbg   57 天前
    私有仓库+私服就解决问题了。从私服拉依赖构建,构建完镜像 push 到私有仓库。至于你 k8s 怎么用私有仓库的镜像,就随意了。
    mio4kon
        10
    mio4kon   57 天前 via iPhone
    @sampeng 是的,我现在用的就是参数指定目录,不过指定的是共享目录,所以会有死锁,你说的 gradle 仓库是指 maven center 吗?但是有些外网的依赖,虽然都换成阿里云镜像地址了,不过还是很慢
    mio4kon
        11
    mio4kon   57 天前 via iPhone
    @xuanbg 是指每次构建完把容器重新打包上传个新镜像,然后每次构建拉新版本的镜像是吗
    wdlth
        12
    wdlth   57 天前
    内网没有搭建 Nexus 镜像么?
    sampeng
        13
    sampeng   55 天前
    @mio4kon Nexus 或者 jfrog 做内网镜像。非常快
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1008 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 22:00 · PVG 06:00 · LAX 15:00 · JFK 18:00
    ♥ Do have faith in what you're doing.