如何使用Git在远程服务器上运行构建?

时间:2019-07-06 19:48:46

标签: git github deployment

当新代码到达远程GitHub存储库上的dev分支时,我希望自动/手动将其从远程服务器中提取,构建和运行。

我知道GitHub Webhooks,但是它们只允许将被卷曲的URL。对于该任务,我可以使远程主机中的节点服务器侦听这些HTTP请求。但是我想知道是否有更好的方法,而是使用Git。

我已经考虑过要在GitHub的“ origin”旁边设置另一个称为“ staging”或“ production”的远程服务器,并且每当Github起源收到对dev分支的新请求时,它将推送它转到“舞台” /“生产”遥控器。

我一直在寻找很多文章,但没有发现任何内容可以从头开始真正描述整个过程。

1 个答案:

答案 0 :(得分:0)

如果只需要在生产服务器上进行修改,请尝试使用连续部署( CI )工具,例如( gitlab CI,Drone等。)。尝试使用 Capistrano

对我来说,最简单的解决方案是使用FABRIC,您可以构建代码。 示例:

  • 安装结构
  • 创建fabfile.py
  • 将这段代码放入其中,并替换所有变量(user_ssh,/ path_to_project,ip_server)

    from fabric.api import env , run , put
    
    prod_env = {
      'name' : 'prod' ,
      'user' : 'user_ssh',
      'deploy_to' : '/path_to_project',
      'hosts' : ['ip_server'],
    }
    
    def set_config(env_config):
      for key in env_config:
         env[key] = env_config[key]
    
    def prod():
      set_config(prod_env)
    
    
    def deploy():
      run("cd %s && git pull -r",env.deploy_to)
      run("You command to build and run")
    

现在运行:

  

fab产品部署

希望有帮助