\section{Instalaci\'on inicial} \begin{frame} \frametitle{\textbf{Arquitectura del repo}} \begin{itemize} \item API: \texttt{backend/} (FastAPI) \item Front: \texttt{frontend/} (Svelte + Vite, base path \texttt{/taller/}) \item Orquestaci\'on: \texttt{docker-compose.yml} (frontend + backend) \item Jenkins: \begin{itemize} \item Pipelines: \texttt{Jenkinsfile.ci} y \texttt{Jenkinsfile.cd} \end{itemize} \end{itemize} \vspace{0.15in} \begin{mybox} \begin{itemize} \item[\ding{229}] Importante: el frontend usa un \textbf{base path} \texttt{/taller/}. \end{itemize} \end{mybox} \end{frame} \begin{frame} \frametitle{\textbf{Uf seguro que instalar el Jenkins ese es muy difícil...}} \textbf{¿Seguro?} \begin{itemize} \item \texttt{sudo wget -O /etc/apt/keyrings/jenkins-keyring.asc \ https://pkg.jenkins.io/debian-stable/jenkins.io-2026.key} \item \texttt{echo "deb [signed-by=/etc/apt/keyrings/jenkins-keyring.asc]" \ https://pkg.jenkins.io/debian-stable binary/ | sudo tee \ /etc/apt/sources.list.d/jenkins.list > /dev/null} \item \texttt{sudo apt install jenkins} \end{itemize} \end{frame} \begin{frame} \frametitle{\textbf{Configuraci\'on inicial y plugins}} \begin{itemize} \item Completar el asistente inicial (admin + plugins sugeridos). \item Configurar credenciales. \end{itemize} \end{frame} \begin{frame}[fragile] \frametitle{\textbf{Job de prueba}} \begin{itemize} \item Creamos un job simple para validar: \item Ejemplo de pipeline: \end{itemize} \small \begin{verbatim} pipeline { agent any stages { stage('¿Ya está, no? Ya sé de DevOps') { steps { sh 'uname -a' sh 'docker version' } } } } \end{verbatim} \end{frame}