【问题标题】:Git Repo > Hosting Server (No FTP required)Git Repo > 托管服务器(不需要 FTP)
【发布时间】:2018-01-13 16:34:41
【问题描述】:


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

当前工作流程

这个进行代码更改的过程 > pushing 到 GitHub 上的远程仓库 > 然后通过 FTP 上传在拥有开发团队时有其缺点。

所需的工作流程

我正在寻找的是更新我的托管服务器 (hostgator) 上的文件,其中包含来自我的远程存储库的 master 分支的生产文件。 FTP客户端基本上没用。

需要指导

我确信有一种方法,但是我不知道如何做到这一点。需要你的帮助!一如既往的感谢! :)

【问题讨论】:

  • 似乎您的本地 git 存储库位于与生产服务器不同的机器上。本地机器(本地 git repo 所在的机器)如何与除 FTP 之外的生产服务器通信?是否可以使用 http 或 ssh 协议?

标签: git github version-control continuous-deployment


【解决方案1】:

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

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"

重要提示

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

您可以查看 travis 文档:

【讨论】:

    【解决方案2】:

    如果您可以访问远程服务器,则可以确保您的 Git 存储库是 bare repo,在这种情况下,您可以添加一个 post-receive 钩子以检查每个存储库提交提交的时间。见my answer here

    但是如果你在远程服务器上的 repo 直接是一个带有工作树的仓库,那么你可以enable a push-to-deploy(如果远程 Git 是 2.4 或更高版本)。但是,如果许多开发人员都推送到同一个 repo,那就有点危险了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      相关资源
      最近更新 更多