my-deploy : 由nodejs寫的一個自動更新工具,理論支持所有語言(php、java、c#)的項目,支持所有git倉庫(bitbucket、github等)。
效果如何?
- 如果你的后端項目放在github、bitbucket等git倉庫中管理 , 在你的服務器中配置好mydeploy,它會根據你的配置,自動檢查是否需要拉取最新代碼 , 並且自動幫助你更新。
支持方式
- webhook
你需要在你的倉庫的webhook中設置你的服務器地址+端口,my-deploy接收到倉庫的請求,會監測commit和tag,看是否需要拉取代碼,如果需要,獲取最新代碼,此時借助pm2等可以達到自動更新重啟的效果。
配置文件:
{
"mode": "webhook",
"url": "your project url of git use http",
"localdir": "/path/of/your/local/project",
"branch": "master",
"port":"3100"
"rules": [
{
"type": "tag",
"value": "[vV]\\d+"
},
{
"type": "commit",
"value": "#[\\s\\S]*?deploy\\s*[\\s\\S]*?77"
}
]
}
- pullwatch
設置好my-deploy的拉取間隔時間,它會定期獲取項目是否需要更新,並作出相關更新工作。
配置文件:
{
"mode": "pullwatch",
"url": "your url of git use http",
"localdir": "/path/of/your/local/project",
"interval": 3000,
"branch": "master",
"rules": [
{
"type": "tag",
"value": "[vV]\\d+"
},
{
"type": "commit",
"value": "#[\\s\\S]*?deploy\\s*[\\s\\S]*?77"
}
]
}
總結
簡單、方便的部署,讓你解放服務器的代碼更新,專心寫代碼,直接push,服務端自動更新。可以由commit的信息中區分該提交是否需要更新的,靈活控制。
該工具結合docker和集群效果更佳,更好玩。歡迎star , fork!謝謝