Déployer automatiquement des applications Web développées en Java à l'aide de Jenkins [Tomcat App Edition]

Afin de pratiquer CI / CD, j'ai configuré Jenkins pour générer des artefacts et les déployer sur le serveur d'applications.

Le code source et la construction du serveur sont décrits dans cette Préparation. Si vous souhaitez déployer automatiquement l'application Spring Boot sur le serveur JVM, reportez-vous à Spring Boot App.

Flux de travaux de Jenkins [^ 1]

  1. Vérifiez le code source
  2. Exécutez la construction avec Maven et sortez le fichier war
  3. Utilisez Tomcat Manager pour transférer le fichier war vers le serveur Tomcat pour le déploiement

Découvrez le code source

Sélectionnez Git dans ** Manage Source Code ** et consultez le Github Repository préparé dans la section de préparation. [^ 2] Pour la branche, spécifiez * / master.

Exécutez la compilation avec Maven et affichez le fichier war

Sélectionnez ** Exécuter Shell ** et exécutez-le avec la commande . / Mvnw.

La construction utilise maven, mais elle s'exécute sur le Maven Wrapper inclus dans le référentiel au lieu de la tâche Mave. Puisqu'il y a deux projets dans le référentiel, je déplace le répertoire actuel vers WebSpringBoot avant de l'exécuter.

cd WebSpringMvc
./mvnw clean package

L'exécution de Maven générera web-spring-mvc.war dans le dossier / WebSpringMvc / target.

Transférez le fichier war sur le serveur Tomcat et déployez-le à l'aide de Tomcat Manager

Sélectionnez ** Exécuter Shell ** et exécutez la commande de gestionnaire de Tomcat dans curl pour déployer le fichier war.

# path=/Vous pouvez spécifier le chemin de contexte de l'application avec le paramètre app
curl --upload-file WebSpringMvc/target/web-spring-mvc.war "http://admin:[email protected]:8080/manager/text/deploy?path=/app&update=true"

Si l'exécution du travail Jenkins réussit, vous pouvez vérifier l'exécution de l'application à partir de l'URL suivante. http://192.168.33.30:8080/app/greeting

Écran des paramètres de construction

image.png

référence

Configuring Manager Application Access

[^ 1]: Cette fois, je voulais construire et déployer en exécutant des commandes, j'ai donc utilisé la tâche ** Shell Execution **.

[^ 2]: Ce référentiel contient deux projets Maven, ** WebSpringMvc ** pour war et ** WebSpringBoot ** pour jar. Cette fois, nous utiliserons / WebSpringMvc.

Recommended Posts

Déployer automatiquement des applications Web développées en Java à l'aide de Jenkins [Tomcat App Edition]
Déployer automatiquement des applications Web développées en Java à l’aide de Jenkins [Préparation]
ERRORCODE = -4471 se produit dans une application Java qui utilise Db2.
Rôle de JSP dans les applications Web [Java]
Déployez une image composée de Tomcat, Java et MySQL à l'aide d'Ansible et Jenkins
Github et Jenkins sont liés pour déployer automatiquement des applications.
Déployez des applications Java développées dans l'environnement IntelliJ IDEA sur des instances Alibaba Cloud ECS
Sécurité dans les applications Web
Débogage à distance des applications Java dans Azure Web Apps
Construction d'environnement de développement d'applications Web en Java (pour les personnes inexpérimentées)
Comment déployer une application Java sur Alibaba Cloud EDAS dans Eclipse
Essayez d'utiliser RocksDB avec Java
[Probablement le plus simple] Développement d'applications WEB avec Apache Tomcat + Java Servlet
Exécuter des applications Java dans Azure Batch
Chiffrer à l'aide du chiffrement RSA en Java
Connexion HTTPS utilisant tls1.2 dans Java 6
J'ai essayé d'utiliser JWT en Java
Un débutant Java a essayé de créer une application Web simple à l'aide de Spring Boot
WAR l'application WEB par Spring Boot et la déployer sur le serveur Tomcat
[Java] Déployer une application Web créée avec Eclipse + Maven + Ontology avec Heroku
J'ai essayé de créer une application de conversation en Java à l'aide de l'IA «A3RT»
L'histoire selon laquelle le servlet n'a pas pu être chargé dans l'application Web Java
[AWS] Comment déployer automatiquement une application Web créée avec Rails 6 sur ECR / ECS à l'aide de CircleCI (1) Préparation [Déploiement de conteneur]