web-dev-qa-db-fra.com

Erreur de génération Jenkins: l'étape de génération «Appeler les cibles Maven de niveau supérieur» a marqué la construction comme un échec

La construction de Jenkins échoue avec

l'étape de build 'Appeler les cibles Maven de niveau supérieur' a marqué la construction comme un échec

Je suis nouveau à Jenkins et je ne sais pas pourquoi la construction échoue. Veuillez consulter le journal:

[INFO] yarn install v0.27.5
[INFO] [1/4] Resolving packages...
[INFO] [2/4] Fetching packages...
[WARNING] warning [email protected]: The platform "linux" is incompatible with this module.
[INFO] info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[INFO] [3/4] Linking dependencies...
[INFO] [4/4] Building fresh packages...
Build step 'Invoke top-level Maven targets' marked build as failure
Finished: FAILURE

Mon pom.xml a les configurations ci-dessous:

<properties>
        <project.frontend.nodeVersion>v6.10.0</project.frontend.nodeVersion>
        <project.frontend.yarnVersion>v0.27.5</project.frontend.yarnVersion>
        <skipGulp>false</skipGulp>
        <build.args>publish:dev:all</build.args>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>com.github.eirslett</groupId>
                <artifactId>frontend-maven-plugin</artifactId>
                <version>1.3</version>
                <configuration>
                    <skip>${skipGulp}</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>install node and yarn</id>
                        <goals>
                            <goal>install-node-and-yarn</goal>
                        </goals>
                        <configuration>
                            <nodeVersion>${project.frontend.nodeVersion}</nodeVersion>
                            <yarnVersion>${project.frontend.yarnVersion}</yarnVersion>
                        </configuration>
                    </execution>
                    <execution>
                        <id>yarn install</id>
                        <goals>
                            <goal>yarn</goal>
                        </goals>
            <configuration>
              <failOnError>false</failOnError>
            </configuration>
                    </execution>
          <execution>
            <id>fix node-sass package</id>
            <goals>
              <goal>npm</goal>
            </goals>
            <configuration>
              <arguments>rebuild node-sass</arguments>
            </configuration>
          </execution>
                    <execution>
                        <id>yarn</id>
                        <goals>
                            <goal>yarn</goal>
                        </goals>
                        <configuration>
                            <arguments>run ${build.args}</arguments>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

J'apprécierai vraiment toute aide à ce sujet. Merci.

7
Umair Cheema

Il semble qu'il y ait un problème avec certaines versions de maven dans Jenkins. Une autre solution appropriée consiste à ajouter une autre installation de maven sur Jenkins.

  1. Depuis votre page de démarrage dans Jenkins, accédez à: Gérer Jenkins> Configuration globale de l'outil et recherchez la section Maven en faisant défiler vers le bas.
  2. Appuyez sur le bouton "Installations Maven" et configurez une nouvelle installation Maven. voir l'image "bouton d'installation Maven"

  3. Dans la zone de texte intitulée "Nom" Tapez le nom que vous souhaitez identifier pour cette nouvelle installation. par exemple. "Apache Maven 3.3.9".

  4. Cochez l'option "Installer automatiquement".
  5. Dans le menu de sélection, choisissez la version 3.3.9. voir l'image "Nouvelle installation de maven"

  6. Ci-dessous, appuyez sur le bouton Enregistrer.

  7. Accédez à la page d'accueil de Jenkins et entrez le travail que vous souhaitez créer.
  8. Sur le côté gauche, cliquez sur l'option "Configurer".
  9. Ensuite, dans la section Build, choisissez le nom de votre nouvelle installation maven que vous avez déjà définie. voir l'image "définir la nouvelle installation de maven"
  10. Appuyez sur Enregistrer et reconstruisez votre travail.

si vous voyez la console de sortie de votre build #?, Jenkins téléchargera la nouvelle version de maven et l'installera sur votre machine et exécutera également la build.

Si tout va bien, vous devriez voir: [INFO] CONSTRUIRE LE SUCCÈS ...

Cela vous aidera à savoir si cette version de maven fonctionne correctement. Ensuite, vous pouvez installer une deuxième version de maven sur votre système.

Une fois que vous avez installé l'autre version de maven sur votre machine, reconfigurez-la sur:
Gérez Jenkins> Configuration globale de l'outil et définissez le chemin du dossier source maven (src), mais cette fois décochez l'option "Installer automatiquement" voir l'image "Définir l'installation du chemin maven" maintenant vous pouvez créer tous vos emplois à Jenkins.

Enfin, répétez les étapes "7, 8 et 9" pour définir votre nouvelle configuration par défaut!

bonne chance!

3
mattblissstar

Suivez les étapes ci-dessous pour résoudre le problème. Son travail pour moi.

  1. Désinstallez vous maven de l'environnement en cours d'exécution.

  2. Installez le formulaire Maven:

    wget http://www-eu.Apache.org/dist/maven/maven-3/3.3.9/binaries/Apache-maven-3.3.9-bin.tar.gz

  3. Extraire le fichier tar en utilisant:

    tar -zxvf Apache-maven-3.3.9-bin.tar.gz

  4. Maintenant, définissez M2_HOME dans l'environnement. Ouvert vi /etc/profile

  5. À la fin du fichier, ajoutez les lignes ci-dessous et enregistrez le fichier.

    export M2_HOME =/opt/Apache-maven-3.3.9 /

    export M2 = "$ M2_HOME" bin

    export PATH = $ PATH: $ M2

  6. Compilez ce fichier en utilisant source /etc/profile

  7. Le chemin de votre domicile Maven est défini. Vous pouvez vérifier en utilisant echo $M2_HOME commande.

  8. Exécutez votre projet.

1
007
I think the problem is not related with maven. The problem is the path
"C:\Program Files (x86)\Jenkins\workspace\" can not be resolved by Jenkins due to spaces. 
So workspace must be moved somewhere like "D:\DevTools\Jenkins\workspace".

My solution:

 1. create an environment variable like JENKINS_HOME = D:\DevTools\Jenkins\
 2. change C:\Program Files (x86)\Jenkins\jenkins.xml like below 
    <env name="JENKINS_HOME" value="%JENKINS_HOME%"/>
 3. restart Jenkins from web browser
    http://localhost:8080/restart

 4. Jenkins will be installed again, 
    Some running files will be stayed in "C:\Program Files (x86)\Jenkins".
    Only workspace and related files will be moved to new place
Now you can use Jenkins
0
Ali Katkar