\section{CI/CD desde fuera (como dev)}

\begin{frame}
\frametitle{\textbf{Flujo de trabajo - Git}}
\includegraphics[width=\textwidth]{images/gitflow.png}
\end{frame}

\begin{frame}
\frametitle{\textbf{Flujo de trabajo}}
\begin{itemize}
    \item Crear rama: \texttt{feature/...}
    \item Hacer cambio peque\~no y con sentido.
    \item Abrir Merge Request / Pull Request.
    \item Observar checks:\\
    \hspace{0.25em}-- CI corre en cada push\\
    \hspace{0.25em}-- el MR/PR muestra estado verde/rojo
    \item Si falla: arreglar y push de nuevo.
    \item Merge a main y observar despliegue (CD).
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{\textbf{Propuesta de cambio para los asistentes}}
\textbf{Cambio sugerido}
\begin{itemize}
    \item Cambiar el t\'itulo del hero en \texttt{frontend/src/App.svelte}. Alguien puso "UwU".
    \item Nuevo texto sugerido: \textit{Taller CI/CD con Jenkins}.
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{\textbf{PR en Gitea}}
\begin{columns}[T]
    \begin{column}{0.62\linewidth}
        \begin{itemize}
            \item Har\'eis la PR con un \textbf{usuario gen\'erico} que os damos en nuestro \textbf{Gitea}.
            \item Al abrir la PR:
            \begin{itemize}
                \item Jenkins lanza la \textbf{CI} (y la ver\'eis en la web de Jenkins).
                \item Aparece el generalísimo \texttt{jenkins-bot}.
            \end{itemize}
            \item \texttt{jenkins-bot} comentar\'a en la PR:
            \begin{itemize}
                \item si todo ha ido bien: \textbf{verde} y a mergear.
                \item si la hab\'eis liado: a mirar el log.
            \end{itemize}
        \end{itemize}
    \end{column}
    \begin{column}{0.36\linewidth}
        \centering
        \includegraphics[height=0.68\textheight]{images/jenkinsbot.jpg}
    \end{column}
\end{columns}
\end{frame}

\begin{frame}
\frametitle{\textbf{Qu\'e observar en Jenkins al hacer el MR/PR}}
\begin{itemize}
    \item Log del stage que falla (si falla): ruff, pytest, svelte-check, build...
    \item En CD: tag de imagen generado (\texttt{APP\_VERSION}) y deploy.
    \item En la app:
    \begin{itemize}
        \item \texttt{GET /health} refleja build/commit/autor.
        \item \texttt{GET /builds} refleja builds recientes via Jenkins REST.
    \end{itemize}
\end{itemize}
\end{frame}
