[JAVA] Déployer automatiquement sur WildFly avec Jenkins lorsque SVN s'engage

Je souhaite automatiser les tâches de construction et de déploiement lorsque SVN s'engage

Ce n'est pas une nouvelle histoire, mais je n'ai pas trouvé d'article qui a réalisé le contenu du sujet, alors je vais écrire comment le faire. On suppose que Java, Maven, Jenkins, Subversion et WildFly sont correctement installés dans l'environnement d'exécution.

environnement

J'essaye dans l'environnement suivant. CentOS 7.3 Java 1.8 WildFly 10.0.0.Final Maven 3.3.9 (Maven 3.1.1 ou supérieur est requis pour utiliser WildFly Maven Plugin 1.1.0.Final) WildFly Maven Plugin 1.1.0.Final Jenkins 2.46.3 Subversion 1.7.14

Présentation du plugin WildFly Maven

Introduisez "WildFly Maven Plugin" pour déployer de maven à WildFly. Ce qui suit est un exemple de description de pom.

pom.xml


<build>
  <plugins>
    <plugin>
      <groupId>org.wildfly.plugins</groupId>
      <artifactId>wildfly-maven-plugin</artifactId>
      <version>1.1.0.Final</version>
      <configuration>
        <hostname>Nom d'hôte du serveur exécutant WildFly</hostname>
        <port>Numéro de port de la console de gestion WildFly</port>
        <username>Nom d'utilisateur pour se connecter à la console d'administration</username>
        <password>Mot de passe pour se connecter à la console d'administration</password>
      </configuration>
    </plugin>
  </plugins>
</build>

Le nom d'hôte par défaut est "localhost", donc si vous exécutez Jenkins et WildfFly sur le même serveur, vous n'avez probablement pas besoin de le spécifier. De plus, le port par défaut est "9990", donc si vous ne l'avez pas changé, vous n'avez pas besoin de le spécifier. Les détails de Config peuvent être trouvés ici [https://docs.jboss.org/wildfly/plugins/maven/latest/deploy-mojo.html)

Créer un emploi avec Jenkins

Créez un travail à exécuter sur validation SVN. Ce que le travail fait est de vérifier la source de SVN, de construire et de déployer avec maven. Voici un exemple de paramètres de travail.

Contrôle du code source

WS000004.JPG

Générer le déclencheur

Définissez le jeton d'authentification requis pour appeler le travail à partir de SVN. Vous pouvez vérifier le jeton depuis [Jenkins]> [Nom d'utilisateur]> [Paramètres]> [Jeton API]. WS000006.JPG

Construire

Tout d'abord, construisez avec «installation propre» et déployez avec «wildfly: deploy». WS000007.JPG

Créer un script de hook SVN

Lors de la validation SVN, créez un script "post-commit" pour exécuter le travail ci-dessus. Si le script créé n'a pas l'autorisation d'exécution post-commit hook failed (exit code 255) with no output. Veuillez noter qu'une erreur comme celle-ci apparaîtra.

$ cd [Répertoire racine du référentiel]/hooks/
$ vi post-commit

#!/bin/sh
api_token=TOKEN_NAME

curl https://[URL confirmée par le déclencheur de compilation]?token=$api_token

$ chmod 774 post-commit

Terminé

Désormais, lorsque vous vous engagez dans SVN, Jenkins va automatiquement créer et déployer sur WildFly.

Recommended Posts

Déployer automatiquement sur WildFly avec Jenkins lorsque SVN s'engage
Une histoire sur la création de chemin PKIX a échoué lors de la tentative de déploiement sur Tomcat avec Jenkins
Déployer l'application sur WildFly
Comment générer automatiquement un diagramme ER lors de la migration avec Rails 6
Déployer automatiquement des applications Web développées en Java à l'aide de Jenkins [Tomcat App Edition]
Commentaires modifiés automatiquement générés par Xcode et AppCode
Déployer automatiquement sur WildFly avec Jenkins lorsque SVN s'engage
Lorsque j'essaye de m'inscrire avec devise, il redirige automatiquement vers root_path
Déployer sur heroku avec Docker (Rails 6, MySQL)
Déployez des applications Web Java sur Azure avec maven
Déployer des rails sur ECS Fargate avec AWS Copilot