Ceci est une ancienne révision du document !
Déploiement Springboot
Via Gitlab CI/CD
Mise en place du déploiement automatique d'une application Springboot vers un serveur externe (VM mise à disposition) via CI/CD Gitlab.
Configuration VM
Se connecter en root avec su :
su -l
Installer Java
Choisir une version compatible (supérieure ou égale à la verion java déclarée dans le pom.xml):
cd /tmp wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.deb dpkg -i jdk-17_linux-x64_bin.deb java -version
Installer Tomcat 10
Ajouter un utilisateur tomcat :
useradd -m -d /opt/tomcat -U -s /bin/false tomcat
Télécharger et dézipper Tomcat :
cd /tmp wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.16/bin/apache-tomcat-10.1.16.tar.gz sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1
Définir les permissions sur les fichiers :
chown -R tomcat:tomcat /opt/tomcat/ chmod -R u+x /opt/tomcat/bin
Créer le tomcat-manager pour manager les sites à distance via l'interface web :
nano /opt/tomcat/conf/tomcat-users.xml
<!-- user manager can access only manager section --> <role rolename="manager-gui" /> <user username="manager" password="_SECRET_PASSWORD_" roles="manager-gui" /> <!-- user admin can access manager and admin section both --> <role rolename="admin-gui" /> <user username="admin" password="_SECRET_PASSWORD_" roles="manager-gui,admin-gui" />
Créer un service Tomcat
Pour gérer tomcat plus facilement, créer un service Tomcat :
nano /etc/systemd/system/tomcat.service
[Unit] Description=Tomcat After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/jdk-17-oracle-x64" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target
Rechargr le deamon service pour prendre en compte le nouveau service :
systemctl daemon-reload
Démarrer Tomcat :
systemctl start tomcat.service
Activer Tomcat pour qu'il redémarre automatiquement à chaque reboot :
systemctl enable tomcat.service
Afficher son statut :
systemctl status tomcat.service
