Controlando versiones con AWS CodeCommit

El control de versiones es crítico para cualquier proyecto de desarrollo de software, sin importar el lenguaje de programación o metodología y los sitios web no deberían estar excentos de ésta práctica. Como siempre AWS tiene un servicio que viene al rescate y esta vez es Code commit. Así que vamos a crear un repositorio y mover el contenido del sitio a él.

Para comenzar a utilizar el servicio basta con crear un nuevo repositorio. Desde la consola, buscamos Code Commit y seleccionamos Create repository

CodeCommit new repository

Especificamos un nombre y descripción y el repositorio queda casi listo. El servicio nos permite después crear notificaciones que recibiremos por email para estar informados cuando se hacen pull requests o commits

CodeCommit notifications

Para enviar las notificaciones AWS utiliza el servicio SNS, Simple Notification Service, el cual permite enviar notificaciones push de diversos tipos, email, sms, eventos para Cloud Watch, etc.

Hay varias formas de acceder a un repositorio de Git y se pueden acceder tanto por SSH como por HTTP. Podemos dar permisos para acceder al repositorio a cualquiera de los usuarios que tenemos creado en IAM, lo cual es una buena práctica a difeencia de usar la cuenta de root que está desaconsejado y es una mala práctica. Vamos a IAM, buscamos la cuenta a la que queremos dar permisos y seleccionamos el tab security credentials. Desde este panel podemos generar credenciales para Git y descargarlas en formato csv.

IAM security credentials

De ahora en más la configuración dependerá del cliente de git que se quiera usar. Obtenemos la URL del repositorio desde la consola de Code Commit y configuramos nuestro cliente

CodeCommit URL clone

Estoy usando NetBeans 8.2 para editar el sitio por lo que muestro unos breves pasos de como configurar el repositorio utilizando la cuenta de IAM para la que creamos el credenciales de Git. Para clonar el repositorio vamos a Team -> Git -> Clone.

NetBeans git repository

Si pudimos conectarnos al repositorio con las credenciales quiere decir que del lado de AWS Code Commit y AWS IAM todo está bien configurado. Seguimos los pasos especificos del nuestro cliente y podemos empezar a controlar nuestras versiones. Si no estas familiarizado con Git o el control de versiones te recomiendo leer alguna documentación especifica del tema antes de comenzar ya que puede ser un poco frustrante si no se manejan los conceptos básicos.