如何一键部署项目&&代码自动更新

my-deploy : 由nodejs写的一个自动更新工具,理论支持全部语言(php、java、c#)的项目,支持全部git仓库(bitbucket、github等)。php

Githubhtml

效果如何?

  • 若是你的后端项目放在github、bitbucket等git仓库中管理 , 在你的服务器中配置好mydeploy,它会根据你的配置,自动检查是否须要拉取最新代码 , 而且自动帮助你更新。

支持方式

  1. webhook
    你须要在你的仓库的webhook中设置你的服务器地址+端口,my-deploy接收到仓库的请求,会监测commit和tag,看是否须要拉取代码,若是须要,获取最新代码,此时借助pm2等能够达到自动更新重启的效果。

配置文件:java

{
     "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"
        }
    ]
}
  1. pullwatch
    设置好my-deploy的拉取间隔时间,它会按期获取项目是否须要更新,并做出相关更新工做。

配置文件:node

{
     "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"
        }
    ]
 }

视频演示git

总结

简单、方便的部署,让你解放服务器的代码更新,专心写代码,直接push,服务端自动更新。能够由commit的信息中区分该提交是否须要更新的,灵活控制。github

该工具结合docker和集群效果更佳,更好玩。欢迎star , fork!谢谢web

相关文章
相关标签/搜索