IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    kelvv发表于 2016-06-18 15:04:36
    love 0

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

    视频演示

    github

    效果如何?

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

    支持方式

    1. 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"
      	  }
        ]
      }
      
    2. 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!谢谢



沪ICP备19023445号-2号
友情链接