• 请不要在回答技术问题时复制粘贴 AI 生成的内容
chaegumi
V2EX  ›  程序员

请教线上项目自动化 git 怎么实施?

  •  
  •   chaegumi ·
    chaegumi · Jun 27, 2016 · 4818 views
    This topic created in 3621 days ago, the information mentioned may be changed or developed.
    我有两台服务器,

    服务器 1 :网站程序 站点目录

    服务器 2 : git 服务器

    我现在是本地机开发

    想要的效果就是自动 git 备份整个服务器 1 的站点目录

    我现在的想法是:本地机开发完,把程序更新到服务器 1 ,那我能用脚本去实现自动 git 备份服务器 1 到服务器 2 的版本库去吗?

    想法对不对?还是不是这样做的。是别的方式
    28 replies    2016-06-28 08:49:49 +08:00
    clino
        1
    clino  
       Jun 27, 2016
    不应该是开发完 push 到 git 服务器,然后生产环境从 git 服务器更新到最新版本吗?
    bazingaterry
        2
    bazingaterry  
       Jun 27, 2016
    难道不应该是把 commit 推到 git 服务器,然后利用 git hook 或者持续部署之类的工具实现线上自动更新?
    chaegumi
        3
    chaegumi  
    OP
       Jun 27, 2016
    @clino
    @bazingaterry 所以我变成是反着来了?我也搜索到过你们这种说法
    chaegumi
        4
    chaegumi  
    OP
       Jun 27, 2016
    不对啊,那生产环境下产生的 比如 用户图片上传这些怎么搞
    Citrus
        5
    Citrus  
       Jun 27, 2016
    @chaegumi 你的想法确实是反的,但是没人这么用。大家都是用 Git Hook 的方式往生产同步,而不是反过来。
    chaegumi
        6
    chaegumi  
    OP
       Jun 27, 2016
    我其实主要是想要把用户的上传的图片什么的类似的一些动态数据 git 起来
    Citrus
        7
    Citrus  
       Jun 27, 2016
    @chaegumi 用户上传的图片就不应该传到 Git 上。 Git 是用来管理 代码 版本 的工具,而不是给你备份数据用的工具。
    chaegumi
        8
    chaegumi  
    OP
       Jun 27, 2016
    @Citrus 那这些数据用什么方式来备份, rsync ?那如果用户误删除的话,想找回来就找不回来了呀
    chaegumi
        9
    chaegumi  
    OP
       Jun 27, 2016
    @Citrus 或者用户把原来 图片删除,传了一个一模一样名字的图片,等于丢失了。
    jixiangqd
        10
    jixiangqd  
       Jun 27, 2016
    jenkins
    icybee
        11
    icybee  
       Jun 27, 2016
    楼上说得对, jenkins ,我记得有 docker 版本
    kslr
        12
    kslr  
       Jun 27, 2016
    @chaegumi 数据为什么要和代码混杂到一起
    clino
        13
    clino  
       Jun 27, 2016
    "那生产环境下产生的 比如 用户图片上传这些怎么搞"
    感觉你要的是备份
    你应该把代码或者构建产物对于生产环境的自动化部署和生产环境的数据备份分开考虑
    难不成你要把应用产生的数据都和代码放在一起做版本管理?
    XianZaiZhuCe
        14
    XianZaiZhuCe  
       Jun 27, 2016
    瞎用 git 。。。
    chaegumi
        15
    chaegumi  
    OP
       Jun 27, 2016
    @clino 是的,这部分应该也是可以 git 备份的吧
    vnady
        16
    vnady  
       Jun 27, 2016
    jenkins
    sxul07
        17
    sxul07  
       Jun 27, 2016
    Git 是代码版本管理。。备份用云存储…然后你们这个逻辑明显有问题 竟然直接把用户上传的文件保存在硬盘上?
    laowu2012
        18
    laowu2012  
       Jun 27, 2016
    最近用 walle ,简单点,你试试看?
    https://www.v2ex.com/t/216073
    HavenShen
        19
    HavenShen  
       Jun 27, 2016
    TangMonk
        20
    TangMonk  
       Jun 27, 2016
    静态数据应该存放在七牛,又拍云,阿里云 OSS 这些地方
    clino
        21
    clino  
       Jun 27, 2016
    @chaegumi 可以用 git 备份,但我的问题是备份的 git 难道和源代码是同一个吗?
    alexsunxl
        22
    alexsunxl  
       Jun 27, 2016
    关于图片或者其他的用户产生的内容。你应该放到 CDN 或者别的文件夹(然后配置一下路径)。
    代码仓库一定是要纯净,无状态的。
    无状态简单理解就是和数据分离(上传图片也算数据),你这个服务器崩掉了,仍然能很快的 clone 一份代码,然后配置一下就能恢复
    ytf
        23
    ytf  
       Jun 27, 2016
    用户删除 你可以软删除 不用物理删除呀
    unionx
        24
    unionx  
       Jun 27, 2016
    基于 Jenkins 搞一套 build pipeline
    ppwangs
        25
    ppwangs  
       Jun 27, 2016
    用户误删是用户的事,你提醒到位就够了,和你无关。。
    marvinwilliam
        26
    marvinwilliam  
       Jun 27, 2016
    你说的应该是 webhook
    msg7086
        27
    msg7086  
       Jun 27, 2016
    @TangMonk 那七牛的静态数据是不是要放到又拍去了。
    TangMonk
        28
    TangMonk  
       Jun 28, 2016 via Android
    @msg7086 没明白。。什么意思
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1628 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 111ms · UTC 16:28 · PVG 00:28 · LAX 09:28 · JFK 12:28
    ♥ Do have faith in what you're doing.