首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

求助, django 项目离线部署以后如何优雅的更新

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

    代码跑局域网内,没有外网~无法从 git 拉代码,除了删了然后复制有啥比较方便的操作?谢谢~

    13 回复  |  直到 2019-05-13 11:13:37 +08:00
        1
    yuhr123   162 天前
    把 git 也建在内网
        2
    zyqzyq08   162 天前 via Android
    @yuhr123 emmm 要部署到多个地方
        3
    qiukun   162 天前 via Android
    写成 sh
        4
    tomczhen   162 天前
    自己打成发行版支持的安装包格式,也可以参考一些跨发行版方案,比如 appimage 之类的。
        5
    ksupertu   162 天前 via iPhone
    打包 docker image 导来导去
        6
    zyqzyq08   162 天前
    @qiukun 我目前是这么干的。。sh 还是很爽的。一个打包一个安装
        7
    zyqzyq08   162 天前
    @tomczhen 感谢,这个感觉很棒。我去研究下
        8
    zyqzyq08   162 天前
    @ksupertu 这个是最佳备选方案。。表示有些机子都不给装 docker
        9
    tomczhen   162 天前
    @zyqzyq08 snap 可能更适合,做好趟坑的准备吧。。
        10
    zyqzyq08   162 天前
    @tomczhen emm。。。看了下似乎都是很有趣。。但是有点麻烦的感觉。
        11
    xpresslink   162 天前
    我以前做过类似的项目,服务器和开发机都是在同一个局域网内。
    直接在服务器上安装 Git 服务,然后初始化一个空的 git 远程仓库。
    在开发机上把代码直接 push 到服务器远程仓库。
    在远程仓库的写个 post-receive 钩子脚本,用来在 push 新代码后自动触发事件,自动更新代码和重启服务。

    钩子脚本很简单
    # =======================================
    #!/bin/bash
    # File_Name=post-receive
    # git 用来 push 后部署代码到网站的钩子
    # put this file under git-repo/project.git/hooks/ and chmod +x
    webdir='/webapps/djangosite'
    gitdir='/home/gitrepo/djangosite.git'
    git --work-tree=$webdir --git-dir=$gitdir checkout -f
    chmod +x $webdir/*.sh
    $webdir/run.sh restart
    # ========================================

    run.sh 是重启服务的脚本。
        13
    julyclyde   160 天前
    推和拉的选择,很大程度上受限于网络通信
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2105 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 00:33 · PVG 08:33 · LAX 17:33 · JFK 20:33
    ♥ Do have faith in what you're doing.