Actividad 2. API Spring Boot con GitHub Actions y AWS Elastic Beanstalk
4. FASE 3A: Creación del repositorio en GitHub
Pipeline real en un proyecto Spring Boot

Objetivo de la fase:
Subir el proyecto a GitHub y configurar un pipeline de Integración Continua que ejecute automáticamente:
./mvnw test
cada vez que se produce un cambio en el repositorio.
A partir de esta fase:
-
no se ejecutan validaciones manuales,
-
el proyecto se valida automáticamente,
-
los errores se detectan antes del despliegue.
1. Creación del repositorio en GitHub
Desde GitHub se crea un nuevo repositorio:
-
Repository name: dam-ci-cd-api-001
-
Visibility: Public o Private (indiferente)
No marcar ninguna de estas opciones:
-
Add a README
-
Add .gitignore
-
Add a license
El repositorio debe crearse vacío, ya que el código ya existe en local.


2 Conectar el repositorio local con GitHub
Desde el terminal de IntelliJ, en la raíz del proyecto:
Comprobación de remotos
git remote -v
Si el proyecto no está conectado a ningún repositorio remoto, no debe aparecer nada.
Añadir remoto
Utilizando el Quick setup, ya nos deja todo preparado:

Utilizando la URL del repositorio recién creado:
git remote add origin https://github.com/damiansu/dam-ci-cd-api-001.git
Se verifica la conexión:
git remote -v

Nota sobre la rama main
En la documentación de GitHub puede aparecer el comando:
git branch -M main
Este comando sirve para renombrar la rama actual a main.
En este proyecto no es necesario, ya que la rama principal ya se llama main.
Subir el proyecto a GitHub
Para realizar el primer push es necesario:
-
el nombre de usuario de GitHub (no el correo),
-
un Personal Access Token.
Un token de acceso personal:
-
solo se muestra una vez al crearse,
-
si se pierde, debe generarse uno nuevo.
Configuración recomendada del token:
-
Expiration: 30 o 90 días
-
Scope: repo (solo este)

git push -u origin main

Verificación visual
En GitHub:
-
Abre el repositorio dam-ci-cd-api-001
-
Refresca la página
-
-
pom.xml
-
mvnw
-
.mvn/
-
src/
Debes ver:
-
Si esto aparece, el repositorio está correctamente sincronizado.
