0

I'm trying to improve my workflow and hoping for some pointers. This is what I currently do - use a remote git repository (codebasehq), work locally on a couple of machines and push changes to the remote repo. This is currently fine, but I want to also pull from the remote repo to a live or staging site. What's the best practice for doing this? Just checking out a copy to the web root or something more advanced than this? Thanks

4

2 回答 2

1

Hudson/Jenkins是一个很好的构建自动化工具,具有可靠的 git 支持。这是您需要运行的另一台服务器。您可以根据时间或事件触发器在 Hudson 上配置各种作业以部署到一台或多台服务器。

您可以将其视为连接 cron、git 提交挂钩和 bash 脚本以执行任意部署任务的便捷方式。

作为示例工作流程,我与其他十名开发人员一起工作。我们每个人都在私有分支上工作,并在我们的功能经过测试和工作时合并到 master 中。当任何人推送到 master 时,Hudson 将拉取 master,运行所有测试并将最新的应用程序战争部署到 JBoss 服务器以进行内部验收测试。

同样,我们将 Hudson 作业配置为每 12 小时部署到另一个 JBoss 实例。我们将此实例用于客户演示,因此我们希望它的波动性比真正的持续集成/验收测试服务器要小一些。

除了运行性能测试,我们还有一些工作,构建某些项目模块等。这是一个非常灵活的平台,有许多插件。

于 2012-10-22T14:46:44.877 回答
1

将副本签出到 Web 根目录很好,但您也可以考虑使用Capistrano等部署工具。设置好后,您只需cap deploy从一台本地机器发出,它会负责在实时服务器上检查新副本、启动应用程序等。

于 2012-10-22T12:44:52.017 回答