php - bajar - codeigniter wiki github
¿Cuál es la forma correcta de mantener una "versión para el servidor", con solo los archivos de configuración modificados, en Git? (3)
A veces trabajo con Codeigniter y, cuando termine de desarrollar en el sitio local, debo migrar los archivos al servidor. Todos los archivos en la carpeta /config/
necesitan ser cambiados para coincidir 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?
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 de production
de los archivos. Si no está allí, entonces usa el archivo predeterminado en la carpeta config
. Y si se encuentra en un entorno de desarrollo, CodeIgniter primero verificará la carpeta de development
.
Si desea mantener cualquier archivo de configuración idéntico al entorno de producción y desarrollo, guárdelo en la carpeta de config
.
Si desea configurar el entorno, agregue el siguiente código en el archivo .htaccess:
#This code for Development Environment
SetEnv CI_ENV development
y
#This code for Production Environment
SetEnv CI_ENV production
Depende de tus necesidades. En mi compañía usamos otro enfoque. Hemos creado varios entornos (donde el asterisco es el nombre interno del proyecto):
- desarrollo - sitio se ejecuta en el dominio **. local.com *
- prueba - sitio ejecutado en prueba de dominio . *. company.com
- beta - beta. *. company.com
- producción, cualquier otro dominio.
En base al nombre de dominio cambiamos las configuraciones automáticamente. El archivo de configuración básica se ve así:
<?php
return array(
''_env'' => array(
''devel'' => array(
// config for devel
),
''production'' => array(
// config for production
)
)
);
?>
Algunos marcos (AFAIR Zend) establecen el nombre del entorno en la configuración de Virtual Host (o .htaccess). Debería ver: zend framework auto switch producción ensayo de prueba ... etc.
¿Has mirado la documentación de CI? Hay una sección sobre eso.
Puedes mantener versionado:
- dos "archivos de configuración de valores", con los valores correctos para cada entorno
- un archivo de configuración de plantilla, con marcador de posición de valor en él (por ejemplo,
@@PORT_NUMBER@@
) - una secuencia de comandos capaz de generar el archivo de configuración real en función del entorno actual
- un controlador de filtro de contenido que, al finalizar la compra, activará la secuencia de comandos para generar el archivo de configuración correcto.
Nota: eso supone que el archivo de configuración de la plantilla 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).