Para hacer frente a este tipo de DEV y entorno de producción, que he escrito una secuencia de comandos perl para ayudarme con lo que de otra manera sería un trabajo manual. He dado ciertos pasos a los nombres familiares, así que recuerdo ejecutarlos en el orden correcto. Solo tengo DEV bajo SVN. Creo un entorno de PRODUCCIÓN cada vez con este script. De esa forma no tengo que preocuparme por mantener 2 ramas de código.
estoy usando SVN así que elegir un nuevo directorio de la caja (como/tmp/foobar) de mi código DEV. No va a estar allí por mucho tiempo.
paso 0 opcionales: diff estructuras de bases de datos
mysqldump -d -u USER -pPASS mydotcom > production.sql
mysqldump -d -u USER -pPASS mydotcom_dev > development.sql
vim -d production.sql development.sql
veces plugins añadir tablas, y esto va a demostrar que. De lo contrario, reproduciré los cambios realizados dentro de las tablas (instalaré un complemento) cuando no valga la pena diferir ciertas tablas y copiar sentencias SQL.
paso 1 limpiar: La secuencia de comandos elimina todos los archivos en el directorio actual, hacer una nueva comprobación de svn de la rama DEV. Este proceso de pago se transformará en el código PRODUCTION y se copiará en su webroot.
paso 2 make: perl ejecuta un vim buscar y reemplazar el nombre de la base de datos en wpconfig.php. La búsqueda y el reemplazo se realizan con la misma facilidad en Perl.
system('vim -c "%s/define(\'DB_NAME\', \'mydotcom_dev\'/define(\'DB_NAME\', \'mydotcom\'/g | w | q" wp-config.php');
Elimina el directorio de cargas de archivos locales (para que no sobrescribamos el de producción). wpcontent/uploads Creo que está en una instalación estándar.
Otra búsqueda y reemplazo en todos los archivos de texto dentro del proyecto que tiene la URL de mi DEV, por ejemplo
vim -c "%s/dev\.mydot\.com/www.mydot.com/g | w | q FILENAME.php
paso 3 instalación. Haga una copia de seguridad del wpcontent/uploads con dircopy() para estar seguro. Haga una dircopy() de este directorio limpio en la webroot de PRODUCTION. Eliminar todos los directorios .svn dentro de la web raíz de este modo:
find /PRODUCTION/WEBROOT -ignore_readdir_race -name .svn -exec rm -fr {} \; >/dev/null 2>&1
Ahora su código DEV se ha transformado en el código de producción reemplazando todas las URL codificada y mantener segura en todo el directorio de archivos que no está en SVN. Incluso puedes hacer que se detenga e iniciar apache para ti también. Espero que mi solución te ayude a resolver tu problema.
bien, entiendo wordpress. tal vez debería haber dejado eso más claro. esta pregunta es específicamente sobre el flujo de trabajo y estoy buscando una respuesta con detalles. Espero que en los casos en que necesite escribir guiones, la gente pueda proporcionar los enlaces – Tony