4 Commits

2 changed files with 90 additions and 4 deletions
+85
View File
@@ -0,0 +1,85 @@
name: Despliegue Automatizado Universal
on:
push:
branches:
- develop
- master
jobs:
get-context:
runs-on: host
outputs:
node_version: ${{ steps.setup.outputs.version }}
target_app: ${{ steps.setup.outputs.app }}
steps:
- name: Resolver Aplicación desde apps.conf
id: setup
run: |
# 1. Obtener el nombre del repositorio actual en Gitea (ej: front-Censo)
REPO_NAME="${{ github.event.repository.name }}"
# 2. Determinar si buscamos un entorno -dev (develop) o producción (master)
if [ "${{ github.ref_name }}" = "develop" ]; then
SUFFIX="-dev"
else
SUFFIX=""
fi
echo "Buscando qué sección de apps.conf tiene REPO=$REPO_NAME y termina en '$SUFFIX'..."
# 3. Buscar en /etc/apps.conf el bloque que contenga REPO=nombre_del_repo
TARGET_APP=$(awk -v repo="REPO=$REPO_NAME" -v suf="$SUFFIX" '
/^\[/ { gsub(/[\[\]]/, "", $0); current_box=$0; next }
$0 == repo {
if ((suf == "-dev" && current_box ~ /-dev$/) || (suf == "" && current_box !~ /-dev$/)) {
print current_box;
exit
}
}
' /etc/apps.conf)
if [ -z "$TARGET_APP" ]; then
echo "ERROR: No se encontró ninguna sección en /etc/apps.conf para el repositorio $REPO_NAME con el sufijo correcto."
exit 1
fi
# 4. Leer la versión de Node del bloque encontrado
VERSION=$(awk -v app="$TARGET_APP" '
$0=="["app"]" { found=1; next }
/^\[/ && found { exit }
found && /^NODE=/ { split($0, a, "="); print a[2]; exit }
' /etc/apps.conf)
MAJOR_VERSION=$(echo "$VERSION" | tr -d '[:space:]' | grep -oE '[0-9]+' | head -n1)
echo "-> ID de Aplicación encontrado: $TARGET_APP"
echo "-> Versión Mayor de Node resuelta: $MAJOR_VERSION"
echo "app=${TARGET_APP}" >> $GITHUB_OUTPUT
echo "version=${MAJOR_VERSION}" >> $GITHUB_OUTPUT
build:
needs: get-context
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configurar Node.js dinámicamente
uses: actions/setup-node@v4
with:
node-version: ${{ needs.get-context.outputs.node_version }}
- run: npm ci
- run: npm run build
deploy:
needs: [get-context, build]
runs-on: host
steps:
- name: Ejecutar Despliegue en Servidor Físico
run: |
TARGET_APP="${{ needs.get-context.outputs.target_app }}"
BRANCH_NAME="${{ github.ref_name }}"
sudo -u deploy /home/deploy/scripts/deploy-front.sh "$TARGET_APP" "$BRANCH_NAME"
+5 -4
View File
@@ -85,7 +85,7 @@
<li> <li>
<b> Corresponsable</b> (obligatorio): El proyecto deberá contar con <b> Corresponsable</b> (obligatorio): El proyecto deberá contar con
un corresponsable el cual deberá cumplir con los requisitos del un corresponsable el cual deberá cumplir con los requisitos del
numeral 1. del apartado II. Bases quien continuará con el proyecto apartado II. Bases, numeral 1 quien continuará con el proyecto
cuando el responsable no pueda continuar con el mismo. cuando el responsable no pueda continuar con el mismo.
</li> </li>
<br /> <br />
@@ -262,7 +262,7 @@
</tr> </tr>
<tr> <tr>
<td>Recepción de propuestas</td> <td>Recepción de propuestas</td>
<td>Hasta el 29 mayo de 2026 a las 19:00 horas</td> <td>Hasta el 05 de junio de 2026 a las 19:00 horas</td>
</tr> </tr>
<tr> <tr>
<td>Notificación de resultados</td> <td>Notificación de resultados</td>
@@ -281,7 +281,7 @@
<br /> <br />
<p> <p>
<b>Recepción de propuestas:</b> a partir de la fecha de publicación de <b>Recepción de propuestas:</b> a partir de la fecha de publicación de
esta convocatoria <b>y hasta las 19:00 horas</b> del 29 de mayo de esta convocatoria <b>y hasta las 19:00 horas</b> del 05 de junio de
2026. La entrega y recepción de proyectos se realizará en formato 2026. La entrega y recepción de proyectos se realizará en formato
impreso en la Coordinación de Investigación (UIM-I y UIM-II) y en impreso en la Coordinación de Investigación (UIM-I y UIM-II) y en
formato digital (Word y PDF) a través del siguiente correo formato digital (Word y PDF) a través del siguiente correo
@@ -315,11 +315,12 @@
<div class="space"> <div class="space">
<ul class="cir"> <ul class="cir">
<li>(F1) Formato de inscripción de proyecto</li> <li>(F1) Formato de inscripción de proyecto</li>
<li>(F2) Solicitud de inscripción de participantes</li> <li>(F2) Formato de presupuesto</li>
<li> <li>
(F3) Cesión de Derechos de Propiedad Intelectual firmado por el (F3) Cesión de Derechos de Propiedad Intelectual firmado por el
responsable del proyecto responsable del proyecto
</li> </li>
<li>(F4) Solicitud de inscripción de participantes</li>
</ul> </ul>
</div> </div>