50 lines
1.7 KiB
TeX
50 lines
1.7 KiB
TeX
\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}
|