如何为现有的Typo3网站设置本地开发环境?

时间:2014-03-05 20:17:21

标签: php git deployment workflow typo3

我已经接洽过为现有的Typo3网站开发一些前端组件(CSS / JS&模板)。客户端已经设置了开发服务器,Typo3&已安装扩展,以及其数据库的副本。我有SSH& FTP访问此开发服务器。我正在寻找有关最快和最快的建议开始处理模板的最实用的方法。

我的经验水平是我之前使用Typo3做过前端工作,但总是在一个拥有现有版本控制,构建和版本的团队中。部署工作流程在这种情况下,我将负责设置自己的工作流程和工具。

我花了一些时间阅读版本控制,构建和放大Stack Overflow上与部署相关的问题,但其中许多人都认为:

  1. 拥有多名开发人员的团队
  2. 一个长期运行的项目,对功能进行了重大更改,在构建过程中预先投入大量时间是有意义的
  3. It is 2010.
  4. 将添加其他工具(如git)的现有工作流程(例如现有开发环境)。
  5. 在我的情况下,我将成为唯一一个从事此工作的开发人员,而且我只是被雇用来进行一些布局更新。我没有Typo3的现有开发环境,需要进行设置。我在这个项目上的工作不打算运行超过几周。我想找到一个解决方案,直接在开发服务器上编辑文件" (非常糟糕的做法)和#34;使用Magellanes"设置功能齐全的PHP应用程序部署服务。 (可能是很好的练习,但对我来说是一个陡峭的学习曲线和大量的时间投入)。

    理想情况下,我想结束我的情况:

    • 我的Mac上安装了Typo3的本地开发环境,我可以预览&测试代码更改
    • 版本控制,例如我本地系统上的git
    • 将我的更改推送到开发网站的方法

    任何人都可以与我分享有关如何尽快达到这一点的工具或工作流程建议吗?

1 个答案:

答案 0 :(得分:2)

我的环境与您的环境类似,这是我的典型设置:

版本控制

该网站使用git进行版本控制。可能存在或可能没有可定期推送的存储库,但我的本地版本始终包含在备份中。版本控制中不包括以下内容:

  • typo3temp中的文件,但不是目录(将帖子末尾的.gitignore放入目录中以保留它,但不包含其中的文件)
  • 服务器特定配置
  • 弃用日志
  • IDE文件
  • ...

要包含TYPO3核心,有三种变体:

  • 只需将其添加到存储库
  • 即可
  • 将核心git存储库添加为git submodule
  • 将符号链接添加到核心库中。

如果两个环境中的目录结构不同,后者可能会出现问题,第一个会使存储库混乱,所以如果可能的话,请使用第二个。

TYPO3配置

TYPO3配置分为三个文件:

  • Localconfiguration.php - 版本控制,非手动编辑(TYPO3不断覆盖)。
  • AdditionalConfiguration.php - 版本控制,手动编辑。
  • ServerspecificConfiguration.php - 版本控制,手动编辑。包含数据库凭据,在localhost和远程主机上有不同的imagemagick颜色空间,定义要使用的缓存后端和类似的东西。

其他配置文件包含服务器特定文件。两者都使用\TYPO3\CMS\Core\Configuration\ConfigurationManagerConfigurationManager::setLocalConfigurationValueByPath('DB/host', 'localhost'); - 语法进行设置以实现此功能。

<强>部署

要部署网站,我使用了两件事:

  • git ftp - 如果只有FTP访问权限,则此功能很有用。
  • rsync - 这是更好的选择。

要自动部署(以及从LESS或SASS构建CSS等其他内容),像grunt.jsant这样的任务运行器非常有用。确保从同步中排除特定于服务器的配置和typo3temp。

从头开始构建这样的设置不会花费 很长时间,可能是1或2小时,但不到一天。这当然可能因您的经验而异。

这是上面提到的.gitignore:

*
!.gitignore
!*/