TeamCity与git部署,PHPUnit测试和数据库迁移持续集成

时间:2016-06-24 12:09:13

标签: git continuous-integration phpunit teamcity continuous-deployment

我正在尝试使用Git进行版本控制的Laravel应用程序设置TeamCity持续集成和部署工作流程,但我设法做到的方式感觉很糟糕。

我现在所拥有的是一个TeamCity构建,其中包含推送到开发分支的触发器。我已经设置了三个构建事件ssh到登台服务器然后git拉代码,运行artisan migrate然后运行phpunit测试。

在每个构建事件中,它必须ssh到登台服务器,cd到目录然后执行似乎不正确的操作,此外如果出现问题,如phpunit测试失败,则无法轻松回滚。那么究竟什么是正确的方法,我已经尝试过研究但却找不到任何能够解释如何使用git来部署实时代码的内容,你是否会使用git进行部署?

1 个答案:

答案 0 :(得分:0)

您可以使用Git进行部署,但我不建议这样做。您应该使用专门设置的东西来部署打包的应用程序,例如OctopusDeploy。这个过程如下:

  1. 根据Git中的更改触发您的TeamCity构建
  2. TeamCity逐步完成构建 - 获取更改,构建,运行测试,使用包,将包推送到部署服务器(或执行类似msdeploy的操作)
  3. 部署服务器采用您的zipped / NuGet包并将其部署到您的每个环境(测试版,升级版,生产版)。