【问题标题】:Git autodeploy on Windows 2003 with WAMP使用 WAMP 在 Windows 2003 上自动部署 Git
【发布时间】:2015-04-02 23:57:16
【问题描述】:

我为一家公司工作,该公司出于某种原因使用带有 WAMP 的 Windows 2003 服务器作为其实时产品(请不要问我为什么)。目前,我们必须将更新本地推送到 github,手动使用远程桌面连接连接到此生产服务器并拉取。

我们想自动化这个过程。

我尝试github webhooks 没有成功 -> 找不到为系统帐户 (NT AUTHORITY/SYSTEM) 创建 SSH 密钥的方法,这是 apache 在该服务器解决方案上使用的密钥。该项目目前是通过 HTTPS 克隆的,所以我们也可以全局尝试saving credentials,这样 git 在尝试通过 PHP 拉取时不会提示本地系统帐户输入密码,但这似乎是安全方面最糟糕的解决方案。

有什么想法吗?

-- 更新--

我们决定现在不担心安全隐患。然后我按照所有步骤为新的只读用户保存凭据,但没有成功。我可以在以下位置看到具有正确用户/密码/url 的 .git-credentials 文件:

C:\WINDOWS\system32\config\systemprofile

所有命令都可以工作(通过浏览器),除了 pull、fetch 等。

还有什么想法吗?

-- 更新 2--

我现在已将 wampapache 服务更改为以管理员帐户运行,该服务还将凭据存储在其“根”文件夹 (~) 中。这是我可以通过 cmd 推/拉而无需用户/通过提示的同一个帐户。但是当我通过浏览器尝试时......没有运气。

我现在完全没有想法了。

【问题讨论】:

  • 好吧,我的第一个建议是找一份新工作。我(稍微)更严肃的第二个建议是,我不确定是否值得担心在本地保存凭据的安全隐患。如果您创建的用户只有对 repo 的读取权限,那么如果您的服务器遭到入侵,最糟糕的情况就是他们将可以访问您的源代码,而此时他们仍然拥有这些权限。
  • 感谢您的意见。关于安全性,我们得出了相同的结论。我已按照所有步骤为新的只读用户保存凭据。如果我登录到服务器并手动拉,它就可以工作:没有用户/密码提示。但是,如果我尝试访问用于执行 git pull 的 URL,它就不起作用。所有其他不涉及连接到 github 服务器的命令都可以工作(git status 等),因此当它是本地系统用户时,它可能仍在检查凭据。还有什么想法吗?

标签: php git github windows-server-2003


【解决方案1】:

我终于找到了解决办法!

只需编辑 git 配置文件,将 user:password 添加到 [remote "origin"] 下的 url 参数即可。

网址 = https://user:pass@github.com/organization/project.git

【讨论】:

  • 感谢这个帖子的回答,我终于弄清楚了我的问题并想分享给大家。我正在制作一个 php 脚本来更新 repo。我所做的是像这样更改远程 url 来源git remote set-url origin https://user:pass@bitbucket.org/user/project.git
  • 如果对您有帮助,请投票。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-27
相关资源
最近更新 更多