Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 吉特回购>;托管服务器(无需FTP)_Git_Github_Version Control_Continuous Deployment - Fatal编程技术网

Git 吉特回购>;托管服务器(无需FTP)

Git 吉特回购>;托管服务器(无需FTP),git,github,version-control,continuous-deployment,Git,Github,Version Control,Continuous Deployment,我一直在为我的一个网站使用git,并将我的代码推送到远程存储库。这一切都很好,但每当我想更新生产网站,我需要通过FTP客户端上传我的代码。 当前工作流 在GitHub上进行代码更改>推送ing到远程回购,然后通过FTP上传的过程在有一个开发团队时有其缺点 所需的工作流程 我要找的是在我的托管服务器(hostgator)上更新我的文件,该服务器包含来自远程回购的master分支的生产文件。基本上没有使用FTP客户端 需要指导 我相信有一种方法,但我在如何做到这一点上迷失了方向。需要你的帮助!一如


我一直在为我的一个网站使用
git
,并将我的代码推送到远程存储库。这一切都很好,但每当我想更新生产网站,我需要通过FTP客户端上传我的代码。

当前工作流 在GitHub上进行代码更改>
推送
ing到远程回购,然后通过FTP上传的过程在有一个开发团队时有其缺点

所需的工作流程 我要找的是在我的托管服务器(hostgator)上更新我的文件,该服务器包含来自远程回购的
master
分支的生产文件。基本上没有使用FTP客户端

需要指导
我相信有一种方法,但我在如何做到这一点上迷失了方向。需要你的帮助!一如既往地感谢!:)

如果您有权访问远程服务器,您可以确保您的Git repo是一个,在这种情况下,您可以添加一个post接收挂钩,以便在每次推送提交时签出repo。看


但是,如果远程服务器上的repo直接是一个具有工作树的repo,那么您可以(如果远程Git为2.4或更高)。但是,如果许多开发人员都在推动同一个repo,那么这就有点危险。

如果您将Travis与github一起用于远程存储库,请尝试Travis自定义部署。您只需在“.travis.yml”文件中添加凭据并部署命令。

重要提示 如果您使用的是公共存储库,那么将您的凭据加密到ftp服务器是非常重要的

您可以查看travis文档:


您的本地git repo似乎与生产服务器位于不同的机器上。除了FTP,本地机器(本地git repo所在的机器)如何与生产服务器通信?可以使用http或ssh协议吗?
env:
  global:
    - "FTP_USER=user"
    - "FTP_PASSWORD=password"
after_success:
    "curl --ftp-create-dirs -T uploadfilename -u $FTP_USER:$FTP_PASSWORD ftp://sitename.com/directory/myfile"