A veces trabajo con Codeigniter, y cuando termine de desarrollar en el sitio local, necesito migrar los archivos al servidor. Todos los archivos en la carpeta /config/
deben modificarse para que coincidan con la configuración del Servidor. No está bien hacer un commit completo para estos cambios, ¿simplemente hago que Git ignore estos archivos por completo, o hay una forma de rastrear estos cambios y aplicarlos con Git en el momento correcto?¿Cuál es la forma correcta de mantener una "versión para el servidor", con solo los archivos de configuración modificados, en Git?
Respuesta
se podía mantener versionado:
- dos "archivos de valor de configuración", con los valores correctos para cada entorno
- un archivo de configuración de plantilla, con un valor de marcador de posición en el mismo (por ejemplo,
@@[email protected]@
) - una secuencia de comandos capaz de generar el archivo de configuración real en función del entorno actual
- a content filter driver que, al finalizar la compra, activará la secuencia de comandos para generar la plataforma ht archivo de configuración.
Nota: supone que el archivo de plantilla de configuración tiene un contenido reconocible (el filtro no tiene un nombre o ruta del archivo). Consulte "Git equivalent of subversion's $URL$
keyword expansion" para obtener más información sobre la limitación del controlador de filtro de contenido de git).
Depende de sus necesidades. En mi compañía usamos otro enfoque. Hemos creado varios ambientes (donde el asterisco es el nombre interno del proyecto):..
- devel - sitio funciona sobre dominio ** * local.com
- prueba - sitio de corrida de prueba de dominio *. company.com
- beta -.. beta * company.com
- producción - todos los demás dominios.
Según el nombre de dominio, cambiamos automáticamente las configuraciones. Básicamente archivo de configuración se parece a:
<?php
return array(
'_env' => array(
'devel' => array(
// config for devel
),
'production' => array(
// config for production
)
)
);
?>
Algunos marcos (Zend AFAIR) establece el nombre del entorno de configuración de host virtual (o .htaccess). Debería ver: zend framework auto switch production staging test .. etc
¿Ha mirado la documentación de CI? Hay un section al respecto.
Crea dos carpetas en la carpeta config
. Uno se llama development
y el otro es production
. Ahora copie config.php, database.php, etc. en cada una de estas carpetas. Ahora cuando esté en el servidor de producción, CodeIgniter primero comprobará la carpeta production
para los archivos. Si no está allí, utiliza el archivo predeterminado en la carpeta config
. Y si se encuentra en un entorno de desarrollo, CodeIgniter primero comprobará la carpeta development
.
Si desea mantener cualquier archivo de configuración idéntico al entorno de producción y desarrollo, guárdelo en la carpeta config
.
Si desea configurar el entorno continuación, agregue el código siguiente en el archivo .htaccess:
#This code for Development Environment
SetEnv CI_ENV development
y
#This code for Production Environment
SetEnv CI_ENV production
- 1. ¿cuál es la versión correcta de Eclipse para ColdFusion?
- 2. submódulo git los archivos modificados de estado
- 3. Cuál es la forma correcta de cerrar una conexión TCP
- 4. ¿Cuál es la forma "correcta" de eliminar archivos de una instantánea de ClearCase?
- 5. Encontrar la mayoría de los archivos modificados en Git
- 6. ¿Cuál es una manera fácil de detectar archivos modificados en un espacio de trabajo de Git?
- 7. Git: ¿Cómo evitar el commit de archivos que fueron modificados solo para propósitos de depuración?
- 8. ¿Cuál es la mejor práctica para mantener los secretos fuera de un repositorio git?
- 9. Atajo TFS para hacer un diff en todos los archivos modificados con la última versión
- 10. ¿Cuál es la forma correcta de degradar una gema?
- 11. ¿Cuál es la forma correcta de ocultar una etiqueta HTML?
- 12. ¿Cuál es la forma correcta de redirigir?
- 13. ¿Cuál es la forma correcta de almacenar los datos conf de la aplicación en Java?
- 14. ¿Cuál es la forma correcta de sobrecargar el operador == para una jerarquía de clases?
- 15. ¿Cuál es la forma correcta de pasar una excepción? (C#)
- 16. ¿Cómo exportar todos los archivos modificados/agregados de Git?
- 17. Obteniendo ANT scp solo archivos nuevos/modificados
- 18. CVS Difiere para generar solo archivos modificados?
- 19. cuál es la forma correcta de separar datos en couchbase
- 20. ¿Cuál es la forma de borrar los activos no utilizados?
- 21. ¿Cuál es la forma correcta de lidiar con la migración de bases de datos al usar South, Django y Git?
- 22. ¿Cuál es la forma correcta de iniciar su servidor de votos para probar?
- 23. ¿Cuál es la configuración correcta de ClientIDMode en ASP.Net 4 para obtener la representación ASP.Net 2.0.
- 24. Archivo de git de archivos modificados en repos sin conexión
- 25. ¿Cuál es la forma correcta de usar maxAge con Express.js?
- 26. Android: cuál es la forma correcta de implementar un asistente con una animación entre los pasos
- 27. ¿Cuál es la forma correcta para bloquear áreas de código
- 28. phpdoc: ¿Cuál es la forma correcta de documentar una constante
- 29. ¿cuál es la forma correcta de hacer polimorfismo con los búferes de protocolo?
- 30. ¿Cuál es la forma correcta de manejar la versión de ensamblaje?
tal vez podría escribir un gancho after_deploy git que hacer eso? – lenswipe