You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
3.2 KiB
70 lines
3.2 KiB
\section{Requisiti}
|
|
|
|
L'applicazione è stata sviluppata, eseguita e testata su sistemi UNIX Like, in particolare sulla distribuzione GNU/Linux Debian.\newline
|
|
Per questo questo motivo le istruzioni che seguono saranno incentrate su questo ambiente, ma dovrebbero valere per tutti gli altri sistemi.\newline
|
|
\newline
|
|
Per rendere la propria macchina pronta ad eseguire l'applicazione è necessario installare i pacchetti \code{openjdk} (la versione 8 è sufficiente) ed \code{mvn}; in caso di Debian o derivate si usa il seguente comando:
|
|
\newline
|
|
\begin{lstlisting}[style=BashInputStyle]
|
|
$ sudo apt-get install openjdk-8-jdk mvn
|
|
\end{lstlisting}
|
|
|
|
In caso si volesse usare Docker allora le dipendenze sono docker-compose, ed ovviamente docker stesso. Compose è presente nella maggior parte delle repo delle distro, il problema è che non è sempre aggiornato, per cui si ovvierà a questo possibile problema per mezzo di pip.\newline
|
|
La serie di comandi è la seguente, in caso di distro diversa da Debian usare il relativo gestore di pacchetti in sostituzione ad apt:
|
|
\newline
|
|
\begin{lstlisting}[style=BashInputStyle]
|
|
$ sudo apt-get install docker-ce python3-pip
|
|
$ sudo pip3 install docker-compose
|
|
\end{lstlisting}
|
|
|
|
|
|
\section{Test}
|
|
|
|
Per eseguire i test è necessario spostarsi all'interno della cartella del sorgente dell'applicazione e poi lanciare il relativo comando:
|
|
\newline
|
|
\begin{lstlisting}[style=BashInputStyle]
|
|
$ cd mivan
|
|
$ ./mvnw clean verify
|
|
\end{lstlisting}
|
|
|
|
|
|
\section{Build}
|
|
|
|
L'operazione di build genera un file \code{.jar} all'interno della cartella di nome \code{target}, la quale se non è già presente verrà creata runtime.\newline
|
|
Per seguire la build è necessario spostarsi all'interno della cartella del sorgente dell'applicazione e poi lanciare il relativo comando:
|
|
\newline
|
|
\begin{lstlisting}[style=BashInputStyle]
|
|
$ cd mivan
|
|
$ ./mvnw clean package spring-boot:repackage
|
|
\end{lstlisting}
|
|
|
|
\section{Avvio tramite linea di comando}
|
|
|
|
L'avvio immediato dell'applicazione, utile durante lo sviluppo si esegue con un solo comando. Si ricorda che prima è necessario spostarsi all'interno della cartella del sorgente dell'applicazione:
|
|
\newline
|
|
\begin{lstlisting}[style=BashInputStyle]
|
|
$ cd mivan
|
|
$ ./mvnw spring-boot:run
|
|
\end{lstlisting}
|
|
|
|
\section{Avvio tramite Docker}
|
|
|
|
Per poter eseguire l'applicazione per mezzo di Docker container è necessario soddisfare i requisiti indicati all'inizio di questo capitolo. Il vantaggio di usare Docker è che semplifica notevolmente sia la fase di sviluppo che di deploy dell'applicazione, specialmente per l'ultimo punto che ne riduce in maniera sensibile sia il tempo che la complessità.
|
|
|
|
\begin{quote}
|
|
\begin{center}
|
|
\textit{\textbf{Nota:} per poter utilizzare docker è necessario avere i privilegi di root od essere nel gruppo \code{docker}!}
|
|
\end{center}
|
|
\end{quote}
|
|
|
|
Un comodo strumento di cui faremo uso per gestire i container è Compose, di cui, dato il file \code{.yaml} già compilato alla radice della repository eseguiamo il comando di build:
|
|
\newline
|
|
\begin{lstlisting}[style=BashInputStyle]
|
|
$ sudo docker-compose build
|
|
\end{lstlisting}
|
|
|
|
E poi, una volta buildate le immagini dei container, le eseguiamo:
|
|
\newline
|
|
\begin{lstlisting}[style=BashInputStyle]
|
|
$ sudo docker-compose up
|
|
\end{lstlisting}
|
|
|