V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
l453798303
V2EX  ›  问与答

奇葩需求,或者叫妥协需求,需要一个只备份 env 文件的软件

  •  
  •   l453798303 · 247 天前 · 1379 次点击
    这是一个创建于 247 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景

    • 有多台电脑,公司、家里 x2 、笔记本
    • 每台电脑上都安装了开发软件
    • 开发代码用了 git 管理
    • 但是让我苦恼的一件事就是,如果过久没有用一台电脑,每次准备开发的时候就会发现 env 配置不正确导致折腾很久

    想法

    想这有没有自动同步 env 的方案,考虑到每台电脑的坏境差异性(已经尽量软件、环境装的一样),想着自动备份 env 文件,仅限 env 就好了,毕竟 env 是不上 git 管理的。 当下想法是,只要有一款软件能备份我指定的 env 文件/指定规则的文件,同步到另一个文件夹即可,后续我可以使用群晖将备份的 env 同步到各个电脑上来,这样既不会冲突,也可以个性化,想要 env 只需要去备份文件夹那拿就好了 找过 N 家市面上的软件,好像都没发指定文件/指定规则的备份/同步方案 或者有没有其他方案来解决,使用另一台电脑的时候,快速配置正确的 env

    18 条回复    2023-09-22 14:13:45 +08:00
    tool2d
        1
    tool2d  
       247 天前
    好像任何同步软件都可以做到这点吧,自己让 gpt 写个脚本也不难。

    第一步查询服务器 env 文件修改日期。
    第二部如果日期没有本地的新,就自动上传覆盖。
    wusheng0
        2
    wusheng0  
       247 天前
    不能吧 env 文件分 dev 和 prod 吗,dev 脱敏上传到 git
    1423
        3
    1423  
       247 天前
    硬链接到一个空白文件夹下面
    同步这个文件夹
    l453798303
        4
    l453798303  
    OP
       247 天前
    @tool2d “任何同步软件”貌似没有选择性同步的功能,起码我没发现
    @wusheng0 每台电脑下 env 有一定的差异性
    @1423 值得考虑,就是每次得创建一个链接,不够一劳永逸
    triple7
        5
    triple7  
       247 天前
    提供一个可能性:

    可以参考 https://github.com/lra/mackup 好像不支持 Windows

    简单的介绍可以参考我的文章: https://idayer.com/mac-software-config-backup-and-store/
    itsmingjie
        6
    itsmingjie  
       247 天前
    最新的 YC 有一个类似的 SaaS 服务: https://infisical.com
    tool2d
        7
    tool2d  
       247 天前
    用命令行啊,rsync 同步单个文件还是很轻松的。
    dengshen
        8
    dengshen  
       247 天前 via iPhone
    mackup ?
    dddd1919
        9
    dddd1919  
       247 天前
    如果安全性要求不高,可以在 git 上在创建一个 private repo
    如果网络不是问题,也可以 env 改造成用配置服务,比如 apollo 或者 nacos 之类的
    victimsss
        10
    victimsss  
       247 天前
    https://github.com/Infisical/infisical 这个符合你的需求吗
    avalon8
        11
    avalon8  
       247 天前
    直接同步文件夹 阿里云盘 onedrive 都有这个功能
    yk000123
        12
    yk000123  
       247 天前 via iPhone
    xuelu520
        13
    xuelu520  
       247 天前
    git 为啥不能传 env 呢?自己单独拉个分支传上去不就行了。
    不行就自己建个项目,一堆能建私有项目的 gitxxx
    0o0O0o0O0o
        14
    0o0O0o0O0o  
       247 天前 via iPhone
    woodfizky
        15
    woodfizky  
       247 天前
    根据你每个环境的配置生成各自的 env
    再弄一个 env_set 文件,gitignore 掉,读取配置的代码根据这个被 gitignore 掉的 env_set 来选择读取哪个 env 文件的配置

    这样你就可以同时管理不同环境的配置文件了,稍微麻烦点的就是每个新环境你都要手动创建一个这样的 env_set 。

    不用 env_set 文件也可以用环境变量来代替,这样连 gitignore 都省了
    kekxv
        16
    kekxv  
       247 天前
    试试 idea 的 Gateway ?
    l453798303
        17
    l453798303  
    OP
       241 天前
    @woodfizky 目前觉得你这个方案是既简单又高效了,主要还挺 sao 操作。
    l453798303
        18
    l453798303  
    OP
       218 天前
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2694 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 10:33 · PVG 18:33 · LAX 03:33 · JFK 06:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.