¿Cómo debo clasificar las versiones y las testings fuera de línea en un website?

Soy un aficionado ávido de webdev y autónomo, hasta ahora simplemente edité el website en vivo (pongo un post de mantenimiento mientras se está haciendo), ahora todos mis proyectos hasta ahora también han sido muy pequeños.

por ejemplo, hago un sitio, lo muestro, tomo dinero y me voy, nunca tuve que trabajar en un sitio una vez que se ha publicado.

Ahora mi nuevo proyecto es bastante grande y sé que tendré que editarlo después de que se haya publicado y tal vez tener un pequeño equipo de desarrolladores (solo soy yo)

Entonces, ¿cómo la gente maneja esto profesionalmente? Sé que necesitaré una aplicación de amplificador de prefijos porque ejecuto un server Apache, también he escuchado que la gente usa github para las versiones, pero no estoy muy seguro porque aparentemente no es svn?

Gracias

PD. Tengo una PC con Windows 7, entonces no hay aplicaciones Mac por favor

hasta ahora simplemente edité el website en vivo

Terrible en mi libro;)

Entonces, ¿cómo la gente maneja esto profesionalmente?

Primero necesita configurar un server de desarrollo (lo mejor sería mantenerlo lo más cerca posible de los entornos en vivo esperados). En este server, instalaría todo el software que necesita.

Es posible que también desee configurar un server intermedio.

Sé que necesitaré una aplicación de prefix-amp

Espero que no estés hablando de esos instaladores de un clic. Si lo hace profesionalmente, debe instalar todo usted mismo de esa manera, puede configurarlo como lo necesita.

También he escuchado que la gente usa github para versionar, pero no estoy seguro porque aparentemente no es svn?

GitHub es solo un website. Lo que estás buscando es git o svn para versionar. También puede configurar un server git o svn localmente en lugar de usar services como GitHub. Básicamente, el control de versiones es que cuando alguien hace un cambio en el código, él / ella necesita confirmar los cambios. De esta forma, es fácil hacer un seguimiento de los cambios en la base de código (como qué se cambió, cuándo se modificó y por quién).

  • Pila XAMP local (LAMP o WAMP) para desarrollo
  • sistema intranet para testing y tal vez puesta en escena
  • Por supuesto, el sistema en vivo
  • Versioncontrol, prefiero git . Por supuesto, también puedes usar SVN, pero … digamos: es SVN.
  • Haga cambios locales, pruebe estos cambios locales
  • todo bien: introdúzcalo en el repository de vcs "maestro"
  • ¿Está list la nueva versión (o es "domingo-noche-time de lanzamiento")? Empujar todo eso en la testing / etapa
  • Todo bien allí también: introdúzcalo en el sistema en vivo

Eso es muy abreviado, por supuesto, pero debería darte una idea.

La herramienta donde administras la versión de tu software no es tan importante. Usa Git, o SVN o lo que sea, el que más te guste. Pero usa _one_.

Igualmente importante es que ejecute la "página" en dos sitios, una testing y un sistema en vivo, estrictamente separados. Ambos sistemas tienen que estar muy cerca de su layout, todos los cambios deben hacerse primero en el sistema de testing, verificarse y luego hacerse de la misma manera en el sistema en vivo. No permita que los cambios solo se realicen en el sistema en vivo (porque es solo un pequeño cambio). Sin excepciones.

Luego, piense en la implementación: ¿cómo transferirá los files modificados al sistema de destino? Necesitas rutinas para esto, que se ejecuten una vez que comiencen y no olvides un paso intermedio.

En primer lugar, necesitas algún tipo de sistema de control de versiones: SVN o Git. GitHub es simplemente un service en línea que proporciona repositorys administrados de Git. En segundo lugar, necesitas un server de desarrollo.

Si solo estuvieras haciendo desarrollo, podrías alojar ambos en tu PC de escritorio local, pero como otros desarrolladores se unirán, necesitas un server remoto. Si no desea ejecutar un server fuera de su hogar, la mejor opción es un VPS (server privado virtual) en el que puede instalar Git, Apache, etc. y cualquier otra cosa que necesite.

En cuanto al software de desarrollo, elige: hay muchas opciones. Una opción común es el combo NetBeans IDE y TortoiseGit. Usas NetBeans para desarrollar tu código, cargando automáticamente a tu server de desarrollo, luego TortoiseGit para confirmar y sincronizar los cambios.

Solo cuando esté listo para comenzar, copie el código del server de desarrollo al server de producción.