2012-06-22 25 views
5

Estoy empezando a hacer trabajos moderados de desarrollo web en Salesforce para mi empresa, y estoy buscando información/retroalimentación sobre el proceso de implementación. En este momento, parece que vamos a hacer una gran cantidad de trabajo personalizado utilizando la fuerza visual y ápice. Lo que me pregunto es si arruino algo en mi organización de producción (datos o metadatos) ¿hay alguna manera de retroceder a una instantánea o versión anterior de mi organización que todavía funciona? Con las mediocres herramientas de desarrollo, me preocupa que cuando surjan errores no tenga una forma rápida de abordar la situación.Revertir cambios en Salesforce

que estaba leyendo acerca de las diferentes formas de configurar el control de código fuente aquí: How can multiple developers efficiently work on one force.com application?

Pero no he encontrado a nadie caminar a través del proceso de revertir esencialmente un conjunto de cambios o cambio de ramas. ¿Las protecciones integradas en la fuerza de ventas son lo suficientemente buenas como para que no tenga que preocuparme por los errores en la producción? ¿Debo simplemente no preocuparme por tener que revertir un conjunto de cambios?

+0

Alguien en el trabajo me señaló una aplicación llamada instantánea. ¿Alguien lo ha usado? http://www.dreamfactory.com/appexchange –

+0

Demostramos su producto hace un par de años, y fue muy bueno. Terminamos usando Eclipse (Force.com IDE) pero nunca fuimos realmente felices. Los entornos de Sandbox son una herramienta imprescindible que utiliza. – Hraefn

Respuesta

2

He estado investigando una aplicación en la bolsa de aplicación que, al menos, parece que me va a dar lo que quiero. El producto es Snapshot by Dreamfactory. Curiosamente, los vendedores con los que hablé en Dreamfactory me dijeron que Salesforce usa su aplicación internamente para administrar los cambios. Me parece desafortunado que esta capacidad no se incluye con mi licencia, pero ... aquí están los detalles de lo que encontré que serán útiles para mi pregunta específica:

La capacidad de tomar una instantánea de sus organizaciones metadatos y copiarlo o implementarlo en otra organización. Esto me permitirá implementar/deshacer cambios.

La capacidad de diferenciar 2 instantáneas diferentes (de diferentes orgs) y ver los detalles de lo que ha cambiado. Esto me ayudará a rastrear la causa de los problemas cuando surjan.

5

Una de las formas en que esto se maneja es a través del uso adecuado de orígenes de sandbox asociados con su organización de producción. Siempre puede mantener una organización sandbox que tenga las instancias "bendecidas" de todo mientras usa otra organización sandbox para hacer un desarrollo importante destinado a la implementación en producción. En caso de que ocurra algo gravemente incorrecto entre el nuevo desarrollo en su sandbox dev implementado en la producción, puede avanzar desde su bendito sandbox para volver a lo que estaba funcionando completamente anteriormente.

Habiendo dicho eso, estás en algo cuando preguntas acerca de no preocuparte por los errores en la producción. No es que no vayan a suceder, porque lo harán, sino que pronto comenzarás a tener un sentido diferente de lo que significa "quebrado". Un conjunto de cambios es solo una forma de obtener cambios de una organización a otra, y un desarrollo bastante reciente en la plataforma. Tienen algunas limitaciones, como no mover los datos de configuración personalizada, pero en general funcionan muy bien.

Pero es cierto que cuando tiene buenas pruebas de unidades, junto con el resto de las comprobaciones de integridad referencial impuestas, en realidad no es tan común "romper la construcción", por así decirlo, y desea volver a una instantánea global de todo en un punto diferente en el tiempo. Con más frecuencia, en mi experiencia, revertirá unidades aisladas a versiones anteriores y puede hacer esto con sandboxes o control de código fuente al empujar una versión anterior hacia adelante hasta que se encuentre una solución.

Adam

+2

Agregaría a la respuesta de Adam que también puede usar uno de sus sandboxes de desarrollador como respaldo de producción. Simplemente inicie una vuelta antes de una implementación principal y de esa manera tendrá una copia de toda su configuración. Luego puede volver a implementar de nuevo ese entorno a su producción. –

+0

Exactamente. Eso es realmente lo que quise decir con tener una organización sandbox con benditas instancias de todo. Pero llamarlo una copia de seguridad de producción es más claro para este propósito, aunque algunos cuestionan con razón la sabiduría de tener una copia de seguridad de producción en una caja de arena. Suena volátil;) – Adam

+0

¿Puede explicarme con un poco más de detalle cómo impulsaría un cambio hacia adelante desde la bendecida caja de arena o el control de versiones? ¿Usarías las secuencias de comandos api/ant de metadatos? Volviendo algo parece que debería ser capaz de eliminar nuevos objetos o campos personalizados. Sé que no puedes eliminar cosas con un conjunto de cambios. ¿Puedes hacer eso usando la API de metadatos? –

Cuestiones relacionadas