¿Cuáles son algunas buenas herramientas de implementación para sitios estáticos?

¿Cuáles son algunas buenas herramientas de implementación para sitios estáticos?

Las opciones de alojamiento para sitios estáticos son numerosas. Las mejores opciones que he encontrado hasta ahora son AWS S3 y Github Pages. Ambos no requieren que ejecutes ningún tipo de servidor. Proporcionan un tiempo de actividad muy alto prácticamente sin costo.

S3

S3 le permite apuntar un dominio a un bucket de S3, lo que lo hace perfecto para alojar sus sitios estáticos. Actualizar su sitio es una simple carga en el bucket de S3. También puede crear fácilmente un dominio provisional si desea implementar primero su página, probarla y solo luego llevarla a producción.

Hemos estado usando esto con éxito para alojar nuestra documentación aquí en Codeship durante mucho tiempo. Construimos el sitio estático a través de Codeship, lo probamos y luego lo implementamos en S3 a través de nuestra integración S3. Puede leer más al respecto en una reciente publicación de blog que hicimos: Diseño de la documentación para un producto desarrollador

Puede leer más sobre Hosting en S3 en la documentación de AWS: Hosting de un sitio web estático en Amazon S3

Páginas de Github

Puede crear una rama especial de gh-pages en Github que estará disponible automáticamente bajo el nombre de la rama. Agregar un archivo CNAME a esa rama con el dominio al que desea apuntar le permite tener cualquier dominio asociado.

Github Pages admite la construcción de su sitio a través de Jekyll, o simplemente agregando las páginas estáticas a la rama.

Conclusión

Hemos usado páginas de Github en el pasado, pero hemos cambiado a Hosting con Amazon S3 ya que podemos mantener nuestro repositorio y entorno de alojamiento separados y S3 permite cualquier tipo de herramienta para construir sus páginas estáticas. Es increíblemente estable, muy versátil y no cuesta casi nada para alojar páginas estáticas.

La campaña de Obama 2012 utilizó el mismo mecanismo con éxito para desplegar rápidamente nuevos sitios de campaña: conozca la plataforma de recaudación de fondos de $ 250 millones de la campaña de Obama

Para sitios estáticos más pequeños, normalmente termino escribiendo una tarea de rastrillo rápido como esta:

desc "Upload site" task :upload do # This tasks requires rsync. # # To configure, set 'src' to the path of the output directory on your local # computer (include a trailing slash). Set 'dst' to the path to your web # root (without trailing slash). Take a look at the example to see how it's # done (it's just a really simple rsync wrapper though). # Settings src = File.join(Dir.pwd, '/') # trailing slash dst = ' [email protected] _production_static:/home/applications/your_app_name' # no trailing slash # Don't touch this! 😉 puts 'Publishing site...' puts "Source: #{src} | Destination: #{dst}" sh('rsync', '-gpPrvz', '--exclude=".git"', src, dst) puts 'Site published.' end 

Simplemente colóquelo en un archivo llamado “Rakefile” en el directorio de su proyecto y luego cargue su sitio usando rake upload. Es muy rápido y mucho más conveniente que FTP.

En una nota del sitio: también podría tener un pequeño script “vigilante”, que vigila los cambios de archivos y luego los sincroniza automáticamente cada vez que guarda un archivo.

Tenemos personas que construyen y prueban su sitio estático (con herramientas como Middleman, Jekyll u otros) y luego usan nuestra herramienta, Snap ( https://snap-ci.com ), para implementar bajo demanda en S3 u otros proveedores de hosting. Snap es gratuito para que las personas lo utilicen con repositorios públicos y para hasta un repositorio privado.

Simplemente arrástrelo a BitBalloon para implementaciones completamente atómicas, muchas optimizaciones de rendimiento y alojamiento en Akamai CDN.

https://www.bitballoon.com