• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            戰魂小筑

            討論群:309800774 知乎關注:http://zhihu.com/people/sunicdavy 開源項目:https://github.com/davyxu

               :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

            傳統發布現狀

            傳統的服務器/客戶端版本發布流程都需要經歷以下流程:

            1. 獲取代碼

            2. 編譯代碼

            3. 將配置,二進制文件, 資源打包

            4. 掛接遠程服務器磁盤拷貝打包文件

            5. 遠程操作解壓打包文件

            6. 修改設置,指向最新版本

            7. 重啟服務器

            此流程繁瑣,重復且無聊, 同時, 由于網絡帶寬,網速等約束, 每次若使用完整包發布,傳輸起來非常吃力

            本文討論的外網服務器由于安全性要求,禁止root登錄,只能用普通帳號登錄或傳輸后, 提權為root繼續進行以上操作, 因此rsync的使用受到嚴重限制

            即便使用Windows下的同步軟件, 也幾乎不可能.

            HG特性及優勢

            HG作為一個優秀,小巧的跨平臺代碼管理軟件的特性,正好能解決以上問題, 主要特性:

            1. 安裝簡便, 可以使用代碼直接安裝

            2. 利用本地映射版本可以對新版本做差異比較

            3. 增量包傳輸, 100%同步, 本地文件刪除后, 遠程文件也會同步刪除

            4. 傳輸壓縮

            5. 增量包可以打包為patch進行離線更新

            6. 可以恢復到任意版本, 提交版本有據可查

             

            以下部署系統以CentOS為基礎, 其他系統類似

            本文來自戰魂小筑的博客http://m.shnenglu.com/sunicdavy 轉載請注明來源

            為遠程服務器安裝HG

            安裝依賴庫

            yum install python-devel

            獲取HG源碼

            wget http://mercurial.selenic.com/release/mercurial-2.1.tar.gz

            tar zxvf ./mercurial-2.1.tar.gz

            編譯安裝

            make all

            make install

            hg debuginstall

             

            使用HG同步數據

            創建倉庫

            找到你需要同步的目錄,進入目錄

            執行

            hg init

            vi .hg/hgrc

            添加以下內容,讓這個倉庫支持外部push

            [ui]

            username=服務器提交后看到的用戶名

            [web]

            push_ssl = false
            allow_push=*

            同步

            vi /etc/sysconfig/iptables

            添加HG服務的8000端口

            -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT

            開啟倉庫同步服務

            hg serve

            本地機器同樣找到文件夾,創建倉庫

            hg init

            以后每次需要同步時,使用命令,或者烏龜HG的界面工具拉取服務器數據即可

            hg pull http://服務器地址:8000

             

            版本提交方法與HG日常使用類似, 這里不再闡述

            離線更新

            對于某些服務器深處防火墻或者安全登錄后方,不能直接開啟8000端口的情況

            可以使用hg導出一個patch, 傳輸到遠程服務器, 使用hg import PATCH 即可

            posted on 2012-04-26 11:11 戰魂小筑 閱讀(3066) 評論(0)  編輯 收藏 引用 所屬分類: 網絡 服務器技術工具使用及設計
            欧美午夜精品久久久久久浪潮| 99久久香蕉国产线看观香| 一本久道久久综合狠狠爱| 婷婷久久综合九色综合绿巨人 | 中文精品99久久国产| 亚洲国产日韩综合久久精品| 久久er国产精品免费观看8| 欧美伊香蕉久久综合类网站| 国产精品女同一区二区久久| 久久成人精品| 奇米综合四色77777久久| 久久久老熟女一区二区三区| 色综合久久最新中文字幕| 狠狠久久综合伊人不卡| 久久亚洲AV成人无码软件| 中文字幕无码精品亚洲资源网久久| 亚洲人成网亚洲欧洲无码久久| 国产一久久香蕉国产线看观看| 国产成人精品久久一区二区三区av| 久久精品国产亚洲Aⅴ香蕉| 人妻精品久久久久中文字幕一冢本| 久久99国产精品久久99果冻传媒 | 欧美一级久久久久久久大片| 亚洲精品国产综合久久一线| 99久久精品日本一区二区免费| 人人狠狠综合久久亚洲高清| 91精品国产91久久久久久青草| 欧美精品九九99久久在观看| 91精品国产91久久久久久蜜臀| 伊人久久综合无码成人网| 尹人香蕉久久99天天拍| 欧美亚洲另类久久综合婷婷| 久久播电影网| 久久婷婷是五月综合色狠狠| 久久久久中文字幕| 精品久久久久久无码人妻蜜桃| 国产精品一久久香蕉国产线看| 97超级碰碰碰久久久久| 亚洲国产精品久久久久婷婷老年 | 久久人人爽人人爽人人片AV麻豆 | 亚洲国产精品无码成人片久久|