\section{Consideraciones y curiosidades} \begin{frame} \frametitle{\textbf{Triggers: webhooks vs polling}} \begin{columns}[T] \begin{column}{0.48\linewidth} \textbf{Webhooks} \begin{itemize} \item El repositorio "avisa" a Jenkins. \item R\'apido y eficiente. \item El repo le envía toda la información a Jenkins (autor, commit, rama, etc.) \item Eso tiene pinta de ser difícil... Jenkins tiene plugins para prácticamente cualquier cosa. \end{itemize} \end{column} \begin{column}{0.48\linewidth} \textbf{Polling} \begin{itemize} \item Jenkins pregunta cada X tiempo. \item Absurdamente simple. \item Si abres una PR no es inmediato, debes esperar al polling. \end{itemize} \end{column} \end{columns} \end{frame} \begin{frame} \frametitle{\textbf{Rollback con im\'agenes etiquetadas}} \begin{itemize} \item En CD generamos tags con \texttt{APP\_VERSION = 1.0.\$BUILD\_NUMBER}. \item Si el deploy de hoyudorompe algo, puedes volver atr\'as: \begin{itemize} \item desplegar \texttt{BACKEND\_TAG=1.0.41 FRONTEND\_TAG=1.0.41} (ejemplo) \item \texttt{docker compose up -d} \end{itemize} \end{itemize} \end{frame} \begin{frame} \frametitle{\textbf{Jenkins REST API: ver CI/CD sin entrar al UI}} \begin{itemize} \item Jenkins expone una API JSON por job/build. \item En este repo, el backend consulta builds recientes y expone en el frontend las últimas 5 builds del CD. \item Ideas de uso: \begin{itemize} \item dashboards del estado de las builds. \item alertas. \end{itemize} \end{itemize} \end{frame}