Hola, he querido dar la vuelta a esto por un tiempo, pero me gustaría usar git para mantener algunos sitios de desarrollo de typo3. Investigué un poco y la información más informativa (chromium translated site) sobre el tema no está clara pero me hizo pensar. Me gustaría saber cómo configurar un repositorio administrado por git y si hay algunas/otras carpetas que debo ignorar al configurar el repositorio, lo que debería tener cuidado, las mejores prácticas, etc. He decidido que con cada versión , un volcado de db se haría por separado, lo que corresponde con el hito, porque a partir de ahora no estoy seguro de cómo lidiar con este aspecto del control de versiones de CMS.¿Cuál es la mejor manera de administrar las instalaciones de TYPO3 utilizando git?
Respuesta
No es típico .gitignore
/fileadmin/user_upload/
/fileadmin/_temp_/
/uploads/
/typo3conf/temp_CACHED*
/typo3conf/temp_fieldInfo.php
/typo3conf/localconf_local.php
/typo3/
/t3lib/
/typo3temp/
Tenga en cuenta que cuando se utiliza con TYPO3
git
no debe instalar cualquier extensión del mando a distancia con Extension Manager
!
En su lugar, importe la extensión localmente, instálela localmente y luego confirme y envíe los archivos de ext. Y modifique localconf.php
al servidor remoto.
Al final de la localconf.php
incluyen localconf_local.php
(ignorado)
@include('localconf_local.php');
Permitirá para anular es decir. credenciales para DB o ruta personalizada ImageMagick
sin cambiar el localconf.php
original. Cada desarrollador en el equipo, por supuesto, escribe sus propios valores en localconf_local.php
.
Las carpetas típicas de TYPO3 ignoradas en .gitignore
se deben crear manualmente en cada instancia, es decir.
typo3temp
fileadmin/user_upload
Por supuesto también necesita descargar sorces TYPO3 (typo3
, t3lib
carpetas) - no hay sensación más grande para mantenerlos bajo control de versiones.
Otras cosas, como uploads
se deben descargar manualmente desde el control remoto, por lo que es mejor escribir un script que lo empaquetará y cada desarrollador tendrá la posibilidad de descargarlo con algún enlace. No puede agregar esto al repositorio de git, ya que estos archivos solo se crearon al crear el elemento de contenido, por lo que si no los ignora se arriesga pronto a un gran conflicto de fusión.
Gracias por el consejo para ambos. Aceptaré una respuesta una vez que haya implementado esto con éxito en unos días. –
Debe tener cuidado de, p. "/.git/config" no se expone públicamente a través de HTTP (hice un hábito para poner typo3 cosas en una/public/subfolder). editar: jaja, chmuul.net es mi blog :) Si tiene más preguntas, por favor pregunte. – AaL
Nota adicional: veré si puedo reescribir el tutorial de forma más detallada, traducido al inglés y con mi recibo de capistrano. – AaL
Me gustaría agregar algunos aspectos a biesiors muy buena respuesta: Desde mi experiencia, la mejor estrategia es poner fileadmin/
y typo3conf/
bajo control de versión, y nada más al principio. Si usa extensiones, por lo tanto, utilizará la última versión del depósito TER únicamente. La configuración de extensión (configuración de typoscript, valores de locallang) se colocará en archivos externos dentro de fileadmin /. Estructura de la carpeta de ejemplo:
fileadmin/
- css/
- images/
- javascript/
- scripts/
- templates/
- - html/
- - templavoila/
- - typoscript/
- - xml/
No almacene ninguna información de tipascript en la base de datos; no se puede versionar desde allí.
Lugar .gitignore
donde sea necesario. También ignoramos typo3conf/ext/
y typo3conf/l10n/
. ¿Por qué? Si escribimos nuestras propias extensiones (o modificamos las existentes), agregamos el typo3conf/ext/my_extensionname/
a otro repositorio. De esta manera, la extensión en sí puede mantenerse bien, especialmente si se usa en múltiples proyectos.Y las extensiones sin cambios no necesitan ser versionadas en absoluto.
Siga la sugerencia @include('localconf_local.php');
- esta es una buena práctica.
Esta configuración agrega una mayor demanda en la disciplina de codificación, ¡pero será recompensado! Hemos estado trabajando así de manera exitosa para más de 12 proyectos ahora en un equipo de dos.
Actualmente estamos almacenando todo el directorio ext/en un repositorio de git. ¿Qué técnica está utilizando para obtener todas las extensiones en el lugar correcto de los repositorios dentro de un proceso de despliegue automatizado? Los submódulos de Git parecen realmente inflexibles y con muchos gastos administrativos. Usando la técnica del subárbol de git, siempre podrías extraer la extensión a un repositorio separado si así lo deseas. Creo que almacenar todas las extensiones en diferentes repositorios es más problemático de lo que vale. Por favor, cuénteme sobre sus argumentos para hacer esto. – Ivo
Puede haber un malentendido: solo incluimos las extensiones que estamos desarrollando nosotros mismos, en la mayoría de los proyectos solo uno o dos. Todas las demás extensiones son ignoradas por 'typo3conf/ext /' en '.gitignore' – Mateng
- 1. ¿Cuál es la mejor manera de reemplazar remote.origin.url en Git?
- 2. ¿Cuál es la mejor manera de administrar versiones paralelas en Git?
- 3. ¿Cuál es la mejor manera de administrar las fechas en PHP, MySQL, etc.?
- 4. ¿Cuál es la mejor manera de depurar Typoscript en TYPO3 CMS?
- 5. ¿La mejor manera de mantener TYPO3 sys_log agradable y limpio?
- 6. La mejor manera de administrar datos redis
- 7. ¿Cuál es la mejor manera de administrar fragmentos de código en Xcode?
- 8. Cuál es la mejor manera de administrar los datos de configuración
- 9. ¿Cuál es la mejor manera de administrar el proceso de Unix desde Java?
- 10. ¿Cuál es la mejor manera de organizar múltiples subvistas?
- 11. La mejor manera de desarrollar/administrar/diseñar tareas recurrentes/calendario
- 12. ¿Cuál es la mejor herramienta de combinación visual para Git?
- 13. ¿Cuál es la mejor manera de administrar la concurrencia en una aplicación de acceso a la base de datos?
- 14. ¿La mejor manera de administrar fragmentos de código en Linux?
- 15. ¿Cuál es la diferencia entre las instalaciones totales y las instalaciones activas en el mercado de Android?
- 16. ¿Cuál es la mejor manera de leer GetResponseStream()?
- 17. ¿Cuál es la mejor manera de proporcionar localización para Enumeraciones?
- 18. Cuál es la mejor manera de paginar resultados en php
- 19. ¿Cuál es la mejor manera de dibujar en la consola?
- 20. ¿Cuál es la mejor configuración de git configurada cuando está utilizando Linux y Windows?
- 21. Cuál es la mejor manera de lidiar con
- 22. La mejor manera de cambiar las versiones del repositorio de Android de manera eficiente una vez descargado utilizando repo/git
- 23. ¿Cuál es la mejor manera de implementar un protocolo de solicitud/respuesta utilizando akka y scala?
- 24. ¿Cuál es la mejor manera de declarar la asociación ordenada en las clases de dominio Grails?
- 25. ¿Cuál es la mejor manera de separar cadenas utilizando la función string.format() o LINQ?
- 26. ¿Cuál es la mejor manera de alternar impresiones de pitón?
- 27. ¿La mejor manera de administrar sesiones en NHibernate?
- 28. Cuál es la mejor manera de cambiar las credenciales de un servicio de Windows usando C#
- 29. ¿Cuál es la mejor manera de forzar una fusión en git?
- 30. ¿Hay alguna manera de exportar archivos mediante programación utilizando las instalaciones de Wireshark?
El enlace se ha perdido, probablemente esté desactualizado de todos modos, pero aquí está lo que queda: http://web.archive.org/web/20130706031806/http://www.chmuul.net/2010/02/saubere- git-repositories-fur-typo3-projekte –