gpt4 book ai didi

使用 Git 部署 PHP。我怎样才能让它更自动化?

转载 作者:IT王子 更新时间:2023-10-28 23:55:26 25 4
gpt4 key购买 nike

我负责启动网络项目,目前从客户签署到最终启动需要的时间有点太长了。它位于我有根访问权限的服务器上,但它运行 Plesk,以便老板可以设置 VirtualHosts,这意味着它上面运行着许多站点。

每个项目都有自己的 git 存储库,所以目前我有以下设置。

在我的登台服务器上有一个存储库的克隆,我有两个裸存储库。一个在 forge 上(由 Indefero 提供支持),另一个在实时服务器上。

项目的每个版本都标有今天的日期,例如。 git tag -a deployed-2011-04-20

因此,在暂存服务器上,我执行了类似于 git push --tags live master 的操作,它以实时服务器上的裸仓库为目标。

然后通过 SSH 在实时服务器上执行一个简短的 bash 脚本,该脚本基本上将存储库从实时裸仓库克隆到 Apache 将服务的文件夹。

因此,如果这一切都有意义,您能否推荐一种工具或任何东西来让我的生活更轻松,遵循该工作流程或可以进行调整?

看起来像这样:

Forge (authoritative source)
^
|
v
Staging/development server
|
v
Live server bare repo
|
v
Releases folder (symlinked to htdocs)

最佳答案

想到的一个解决方案是在实时服务器裸仓库上添加一些接收后 Hook ,以便检测来自暂存仓库的任何 deployed-2011-xx-yy 标签,并从那里触发 ssh 脚本.

另一个解决方案是有一个调度程序(如 pderaaijanswer 中提到的 Hudson,以便:

  • 监控状态 repo ,并在正确的标签上触发实时服务器上的推送
  • 监控实时裸仓库,并触发 ssh 脚本。

第二种解决方案的优点是在 Hudson 作业报告中跟踪所有发布实例,每次所述作业检测到正确的标签并执行发布过程。

关于使用 Git 部署 PHP。我怎样才能让它更自动化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5728798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com