Generar un pipeline que te permita hacer un deploy de una aplicación a partir de cada commit en un branch de un repositorio es sumamente sencillo con Amplify. En este ejemplo utilizaré una aplicación React almacenada en un repositorio de Bitbucket, pero puede hacerse exactamente lo mismo con Github, GitLab y, obviamente, AWS CodeCommit.
Lo primero que se debe hacer es ingresar a la consola de Amazon Web Servicess -> Amplify
e ir al menú de Amplify All apps -> New app -> Host web app
, lo que te llevará a una pantalla en donde podrás conectar tu repositorio con Amplify:
Selecciona Bitbucket y autoriza el acceso:
Una vez que se ha autorizado el acceso deberías ver todos los repositorios a los que tengas acceso con tu cuenta de Bitbucket. Selecciona el repositorio y branch:
En el siguiente paso se podrá elegir un nombre para la aplicación y configurar los parámetros del build. No debería ser necesario que cambies nada aquí ya que Amplify detectará correctamente los pasos necesarios para instalar dependencias y hacer el build de la aplicación. En caso de que luego quieras cambiar o agregar algún paso, podrás editar más tarde este archivo desde la consola(o, mi opción preferida, descargarlo e incluirlo en la raíz de tu repositorio como amplify.yml
para tenerlo versionado, ya que Amplify utilizará este archivo si existe en un repo )
version: 1
frontend:
phases:
preBuild:
commands:
- npm ci
build:
commands:
- npm run build
artifacts:
baseDirectory: build
files:
- '**/*'
cache:
paths:
- node_modules/**/*
Por último, revisa la configuraciones y clickea en Save and deploy
:
Amplify comenzará el build y deploy de la aplicación en forma inmediata. En minutos estará disponible con https en una URL terminada en amplifyapp.com.
A partir de ahora, cualquier commit que hagas en el branch conectado con Amplify disparará un nuevo build y deploy de tu aplicación.