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

@編者按:html

  因爲公司內部存在的開發系統:內網開發--外網預發佈--外網生產環境,程序員頻繁的更新代碼形成運維人員大量時間被佔用,因而有了使用該開源工具的部署測試環節。在這裏感謝該開源工具的做者,也但願我這邊文檔能多少幫助須要相似開發環境的技術人員。node

 

1.部署:git

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

  操做視頻教程:http://v.youku.com/v_show/id_XMTYxMjc0ODg3Mg==.htmlgithub

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

       git 2.7.4及以上版本npm

  安裝:$ npm install -g my-deployjson

2.配置:api

  建立配置文件bash

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

相關文章
相關標籤/搜索