使用開源my-deploy工具實現開發環境的代碼自動化部署


@編者按:

  由於公司內部存在的開發系統:內網開發--外網預發布--外網生產環境,程序員頻繁的更新代碼造成運維人員大量時間被占用,於是有了使用該開源工具的部署測試環節。在這里感謝該開源工具的作者,也希望我這邊文檔能多少幫助需要類似開發環境的技術人員。

 

1.部署:

  開源項目地址:https://github.com/kelvv/my-deploy 

  操作視頻教程:http://v.youku.com/v_show/id_XMTYxMjc0ODg3Mg==.html

  基礎環境:node 4.X.X以上版本

       git 2.7.4及以上版本

  安裝:$ npm install -g my-deploy

2.配置:

  創建配置文件

cd /data/test #進入到管理項目目錄
mydeploy init #創建配置文件.mydeploy.json

  clone代碼到本地:

cd /data/test
git clone git@gitlab.apicloud.com:swht/test.git . 

  配置文件: (注意:配置文件需要使用644權限)

{
    "mode": "pullwatch",
    "url": "git@gitlab.apicloud.com:swht/test.git",
    "localdir": "/data/test",
    "interval": 3000,
    "branch": "dev",
   "hook": {
        "postchanged": "pm2 reload test"
    },
    "rules": [
        {
            "type": "commit",
            "value": "^Reload"
        }
    ]
}

  說明:mode--模式,分為pullwatch、webhook兩種模式

     url--管理項目倉庫地址:一般存放在github、gitlab或自建gitlab倉庫中

     localdir--本地管理項目路徑;

     interval--時間間隔,指mydeploy間隔多少時間去檢測git倉庫是否有更新,默認3000ms,建議內部開發服務器上使用pullwatch模式,主動隔一段時間去git pull最新代碼;

     branch--分支,指開發代碼庫的分支,建議分為幾個分支:dev--pre--master。如果內部開發人員較多,可以創建自己的分支,由專門的代碼審查人員進行分支合並;

     hook--代碼更新完之后需要執行的系統命令,借用pm2進行項目重啟操作;

     rules--檢測更新的規則,即根據git提交的類型(commit、tags)、注釋信息進行更新;

  備注:mydeploy start -c /data/test/.mydeploy.json -p 3110  自定義啟動方式,-c 指定配置文件的路徑,-p指定監聽的端口

     mydeploy start  #啟動默認的監聽端口為3100

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM