混帐推住服务器

我们有一个网站,有存储在一个Git仓库所有的PHP / HTML / JS / CSS / etc文件。

我们目前有3种类型的计算机(或用例)存储库中。

  • 本地开发商:拉最新变化,修改,提交到本地回购,推送到主服务器
  • 主服务器:中央存储库,所有更改推送到主服务器
  • Web服务器:更改从主服务器部署的网站时,拉下

所以,目前我们:

local: git push origin master local: password: ******** local: ssh admin@webserver.com webserver: password: ******** webserver: cd ~/domain.com/ webserver: git pull origin master

所以我的问题是:有没有一种方式,从我的本地计算机上我可以直接推送到Web服务器?

IE浏览器。

local: git push origin master local: password: ******** local: git push webserver master local: password: ********

--------------解决方案-------------

是的,你可以直接推送到你的网络服务器,但我不会推荐它,因为你只能推到仓库克隆与--bare说法。 我会利用混帐挂钩制度,让主存储库自动更新的Web服务器上的回购。 退房的post-update挂钩的:

http://git-scm.com/docs/githooks

该脚本可以在通过SSH依次登录到Web服务器,并执行

cd ~/domain.com/
git checkout master
git pull origin master

这样,你只需要关注推到中央服务器,并没有在意Web服务器,它总是会被更新一次,一推已经取得进展。 如果你可以自动化的东西,然后自动执行它:)

我甚至找到了一个不错的文章对您关于通过ssh在脚本登录(如果必须使用密码,这是平凡的,如果一个SSH密钥已设置):

http://bash.cyberciti.biz/security/expect-ssh-login-script/

希望这可以帮助!

我与这里目前顶级投回答同样的查询和不满意,最后下的git-网站-HOWTO其中概述的过程相当好,是国际海事组织一个更清洁,更快速的方法。

TL; git init -- bare创建一个新的回购协议在Web服务器上,你就会把你从改变你的开发机。 当Web回购收到您的更改,它触发后收到钩,然后将文件复制到你的Web根目录。

我喜欢这种方法,因为后收到挂钩是服务器上的工作,使本地计算机可以推得更快,释放自己了。 这也使得它非常容易安装远程跟踪一个特定的分支。 所以,你可以有一个分支叫production来更新你的web服务器,而你的主人继续发展,并链接到您的git回购别处。

注意:你需要运行git config receive.denycurrentbranch ignore推时,Web服务器上的回购,以抑制对当地的开发框警告。

看看http://www.kernel.org/pub/software/scm/git/docs/v1.6.0.6/git-push.html的混帐的URL部分

所以你会尝试:

git push ssh://admin@webserver.com/~admin/domain.com/ master

补充:我认为你所要求的部分是如何有多个远程仓库。

git remote add webserver ssh://admin@webserver.com/~admin/domain.com/

这允许您运行:

git push origin master
git push webserver master

我认为你正在寻找这里所描述的功能: http://debuggable.com/posts/git-tip-auto-update-working-tree-via-post-receive-hook:49551efe-6414-4e86-aec6-544f4834cda3

local您可以添加Web服务器为远程,就像你会做任何其他的:

git remote add webserver admin@webserver:/path/to/repo.git/
# push only master branch by default
git config remote.webserver.push master

现在,当你准备推你可以这样做:

git push webserver

分类:混帐 时间:2012-01-01 人气:0
分享到:

相关文章

  • 是否有可能测试Asp.net MVC本地IIS Web服务器作为一个网站的根目录下的应用程序上(使用Visual Studio正在开发) - ? 2014-04-30

    我想当地的IIS Web服务器作为destinated网站的根目录下的应用程序,而不是根目录下的应用程序嵌套/子应用程序上进行测试,我的asp.net MVC项目(使用Visual Studio正在开发). 注:正常情况下的Visual Studio迫使我们去创造的网站下的虚拟目录,如果我们测试本地IIS Web服务器上的项目. 编辑1:不建议我把它发布到根应用程序请,因为它是一个有点乏味. 我很抱歉,我懒. --------------解决方案------------- 您不必创建一个虚拟目录

  • 在相同的Web服务器运行安全网站 2012-04-01

    我有自己的根服务器(Ubuntu的/ nginx的/ PHP-FPM)上运行两个网站. 现在,我想多加一个网站,WordPress博客. 正如你所知道WordPress的可能是一个安全隐患,这就是为什么我问自己如何"独立"的WordPress从其他网站. 所以,当WordPress的被黑,我想攻击者被困在WordPress. 这将是致命的,如果他能"看多"比WordPress博客. 什么是你保护的网站互相策略? --------------解决方案---------

  • 如果您在PHP中删除一个文件,而Web服务器提供文件给网站访问者会发生什么 2013-12-26

    unlink("cache/data.xml"); 我觉得这可能会产生的时候,断绝可能会读,它提供给访问者一个错误. 如何安全地删除文件,因此脚本将继续等待,直到从Web服务器读取锁定(如果有)释放,然后继续删除文件或它是如何工作了吗? 谢谢 --------------解决方案------------- 这将取决于这是上运行的特定系统上,但对于UNIX手册页unlink函数(PHP的unlink功能很可能依赖于内部的)这样说: 在unlink()函数删除路径从目录中名为链接和递减它是

  • 部署从Visual Studio Web服务器到一个网站 2013-07-21

    我使用的是空白VS2010解决方案来管理一个静态的网站,我维护. 我将使用ASP.NET网站项目,但加了一堆东西的网络服务器不会做. 如果我还是应该使用的项目,请让我知道! 我有源代码控制下的代码,并试图有DEV区源镜像DEV网络服务器. 我想我的变化迁移到其他人查看开发服务器,但我不知道这样做的最好的方法. 如果我在VS使用发布网站命令,它会删除服务器上的文件,并复制所有文件. 与此问题是,它需要waaayyy太长. 当我在VPN更是如此. 我可以手动复制文件,但这是做一个草率的方式. 而服务

  • 使用VS​​ 2008的调试Web服务器时,在Windows 7上使用Windows身份验证User.IsInRole失败 2012-03-25

    当以下行运行从VS2008的Web服务器中的网站时,叫我收到了"此工作站和失败的主域之间的信任关系." 例外. if (User.IsInRole("SomeRole")) ... 我已经把UAC关闭,并设定VS 2008,它的内置Web服务器,以管理员身份运行,并且我也重新加入我的盒子域. 此代码工作正常,如果所谓的从我的服务器2003箱在IIS之一,它总是在Vista中正常工作. 什么可能会导致此任何想法? 编辑: 我只是想在我的本地机器上运行它在IIS 7.5

  • asp.net MVC 3,静态资源利用“本地IIS Web服务器”的时候404'ing 2013-03-19

    这里的情况: ASP.NET MVC 3应用程序中使用剃刀作为视图引擎. 在Visual Studio开发服务器精品工程(卡西尼) 然而,当我切换到"使用本地IIS Web服务器",该网站的功能,但每一个静态资源404(同样,没有问题卡西尼下). ASP.NET 4.0,Windows 7旗舰版64位,IIS 7.5,综合管线,网络服务的应用程序池标识. 具体而言,对于试图访问一个已知存在的静态文件的异常(即删除应用程序文件,特别是与路由信息等DLL和它担任了没有问题). 同样,这将在

  • 有一个简单的方法来设置为Perl测试本地的,独立的Web服务器? 2013-04-12

    我建立一个Perl应用程序归档简单的Web页(不涉及查询字符串即静态网页). 我想编写测试,以验证将访问远程文件模块的功能. 为了使测试自力更生,我在寻找的测试脚本可以在本地使用一个简单的,自包含的Web服务器. 下面是一个例子概括了我想要做的. 我剪下来用下面的目录结构最低: ./MirrorPage.pm ./t/001_get_url.t ./t/test-docroot/test-1.json "./MirrorPage.pm"的内容: package MirrorPage;

  • 如何评估Web服务器的性能? 2013-04-14

    我刨去部署一个Django驱动的站点. 但我觉得困惑的Web服务器的选择,其中包括了Apache,lighttpd的,Nginx的和其他人. 我读过有关这些选择的性能的一些文章. 但似乎没有人对此表示赞同. 所以,我不知道为什么我自己不能测试性能? 我无法找到有关性能测试Web服务器的最佳方法的信息. 所以,我的问题是: 有没有简单的方法来测试,而不在生产现场的表现? 或者,我可以有一个方法来模拟大流量有一个公正的测试? 我怎样才能让我的测试公平,靠近生产情况? 试验结束后,我想弄清楚: 为什么

  • 是否Silverlight的主机需要的任何额外费用或特殊的Web服务器? 2014-09-01

    如果我想举办开发与Silverlight没有要求任何额外费用或特殊的Web服务器上的网站? 或者,我可以只举办这对我目前的ASP.NET主机供应商? --------------解决方案------------- 唯一的要求到一个服务器是Silverlight的MIME类型需要注册: .xap文件应用程序/ x-Silverlight的应用程序 的.xaml应用程序/ XAML + XML Silverlight是对类似的JavaScript与处理完全一样定期asp.net项目的任何服务器回调功

  • 从获取到Android的Web服务器数据 2014-11-10

    我心里有一个特定的概念,但我一个不自信的就是我可能性. 在网页上输入用户名(HTML表单) Web服务器发送推送通知到用户的Andr​​oid设备 应用程序查找此名称在contactslist并找到相应的电话号码 应用即刻将该信息发送回网络服务器,其中用户可以使用返回的电话号码. 我不确定唯一的步骤是#4. 我相信我不得不使用临时MYSQL数据库,并使用反向AJAX或东西都拿到返回的数据给用户没有他有(这整个过程需要进行几秒钟内完成最多刷新页面 - 的速度越快越好). 这一切听起来像一个非常劈十

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.597 (s). 10 q(s)