Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为现有的Typo3网站建立本地开发环境?_Php_Git_Deployment_Workflow_Typo3 - Fatal编程技术网

Php 如何为现有的Typo3网站建立本地开发环境?

Php 如何为现有的Typo3网站建立本地开发环境?,php,git,deployment,workflow,typo3,Php,Git,Deployment,Workflow,Typo3,我被要求为现有的Typo3网站开发一些前端组件(CSS/JS和模板)。客户机已经设置了一个开发服务器,安装了Typo3和extensions,并有一个数据库副本。我有SSH和FTP访问此开发服务器的权限。我正在寻找最快和最实用的方法开始工作的模板的建议 我的经验水平是,我以前做过Typo3的前端工作,但总是在一个拥有现有版本控制、构建和部署工作流的团队中。在这种情况下,我将负责设置自己的工作流程和工具 我花了一些时间阅读了有关堆栈溢出的版本控制、构建和部署相关问题,但其中许多人认为: 由多个开发

我被要求为现有的Typo3网站开发一些前端组件(CSS/JS和模板)。客户机已经设置了一个开发服务器,安装了Typo3和extensions,并有一个数据库副本。我有SSH和FTP访问此开发服务器的权限。我正在寻找最快和最实用的方法开始工作的模板的建议

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

我花了一些时间阅读了有关堆栈溢出的版本控制、构建和部署相关问题,但其中许多人认为:

  • 由多个开发人员组成的团队
  • 一个长期运行的项目,对功能进行了重大更改,在这个项目中,在构建过程之前投入大量时间是有意义的
  • 一个现有的工作流(如现有的开发环境),其中将添加一个附加工具,如git
  • 在我的情况下,我将是唯一的开发人员在这方面的工作,我一直受雇只是为了使一些布局更新。我没有Typo3的现有开发环境,需要设置它。我在这个项目上的工作预计不会超过几个星期。我想找到一个介于“直接在开发服务器上编辑文件”(非常糟糕的做法)和“使用设置一个功能齐全的PHP应用程序部署服务”(可能是一个很好的做法,但对我来说是一个陡峭的学习曲线和大量的时间投资)之间的解决方案

    理想情况下,我希望在以下情况中结束:

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

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

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

    版本控制

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

    • typo3temp中的文件,但不是目录(将文章末尾的.gitignore放入一个目录以保留它,但不是其中的文件)
    • 服务器特定的配置
    • 弃用日志
    • IDE文件
    要包含TYPO3 core,有三种变体:

    • 只需将其添加到存储库中即可
    • 将核心git存储库添加为git子模块
    • 将核心的符号链接添加到存储库中
    如果两个环境中的目录结构不同,并且第一个目录结构会使存储库混乱,则后者可能会有问题,因此,如果可能,请使用第二个目录结构

    类型3配置

    TYPO3配置分为三个文件:

    • Localconfiguration.php-版本控制,不手动编辑(它经常被TYPO3覆盖)
    • AdditionalConfiguration.php-版本控制,手动编辑
    • ServerspecificConfiguration.php-不受版本控制,手动编辑。包含数据库凭据、imagemagick在本地主机和远程主机上不同时的颜色空间、定义要使用的缓存后端以及类似内容
    附加配置文件包括特定于服务器的文件。两者都使用
    \TYPO3\CMS\Core\Configuration\configurationmanager::setLocalConfigurationValueByPath('DB/host','localhost')-设置的语法,以使此工作正常

    部署

    为了部署站点,我使用了两种方法:

    • -如果只有FTP访问,则此选项非常有用
    • rsync-这是更好的选择
    为了自动化部署(以及其他类似于从LESS或SASS构建CSS的东西),像or这样的任务运行程序非常有用。确保从同步中排除特定于服务器的配置和typo3temp

    从头开始构建这样的设置不需要那么多时间,可能需要1到2个小时,但不到一天。当然,这可能因您的经验而异

    下面是上面提到的.gitignore:

    *
    !.gitignore
    !*/
    

    我只是想补充一点,您应该编写rsync脚本。另外:先进行试运行。你的答案已经有3年多的历史了。有什么变化吗?您现在正在使用composer吗?在这种设置中如何处理数据库?