当新代码到达远程GitHub存储库上的dev分支时,我希望自动/手动将其从远程服务器中提取,构建和运行。
我知道GitHub Webhooks,但是它们只允许将被卷曲的URL。对于该任务,我可以使远程主机中的节点服务器侦听这些HTTP请求。但是我想知道是否有更好的方法,而是使用Git。
我已经考虑过要在GitHub的“ origin”旁边设置另一个称为“ staging”或“ production”的远程服务器,并且每当Github起源收到对dev分支的新请求时,它将推送它转到“舞台” /“生产”遥控器。
我一直在寻找很多文章,但没有发现任何内容可以从头开始真正描述整个过程。
答案 0 :(得分:0)
如果只需要在生产服务器上进行修改,请尝试使用连续部署( CI )工具,例如( gitlab CI,Drone等。)。尝试使用 Capistrano 。
对我来说,最简单的解决方案是使用FABRIC,您可以构建代码。
示例:
将这段代码放入其中,并替换所有变量(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产品部署
希望有帮助