web-dev-qa-db-ja.com

Jenkinsビルドエラー:ビルドステップ「トップレベルのMavenターゲットを呼び出す」でビルドが失敗とマークされる

Jenkinsビルドが失敗する

ビルドステップ「トップレベルのMavenターゲットを呼び出す」はビルドに失敗とマークされます

私はジェンキンスに不慣れで、なぜビルドが失敗するのかわかりません。ログを参照してください:

[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

私のpom.xmlには以下の設定があります:

<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>

私はこれについてどんな助けでも本当に感謝します。ありがとう。

7
Umair Cheema

Jenkinsの一部のMavenバージョンに問題があるようです。別の適切な解決策は、Jenkinsに別のMavenインストールを追加することです。

  1. Jenkinsのスタートページから、「Jenkinsの管理」>「グローバルツール構成」に移動し、Mavenセクションのスクロールダウンを探します。
  2. ボタン「Maven Installations」を押して、新しいmavenインストールを構成します。 画像「Mavenインストールボタン」を参照

  3. 「名前」というテキストボックスに、新しいインストールを識別する名前を入力します。例えば。 「Apache Maven 3.3.9」。

  4. [自動インストール]オプションをオンにします。
  5. 選択メニューで、バージョン3.3.9を選択します。 画像「新しいmavenのインストール」を参照

  6. 保存ボタンを押してください。

  7. Jenkinsホームページに移動して、構築するジョブを入力します。
  8. 左側で、「構成」オプションをクリックします。
  9. 次に、ビルドセクションで、既に設定した新しいmavenインストールの名前を選択します。 画像「新しいmavenインストールの設定」を参照
  10. 保存をクリックして、ジョブを再構築します。

ビルド#の出力コンソールが表示された場合、Jenkinsは新しいmavenバージョンをダウンロードしてマシンにインストールし、ビルドも実行します。

すべて問題なければ、[INFO] BUILD SUCCESS ...が表示されます。

これは、そのバージョンのmavenが正常に動作するかどうかを確認するのに役立ちます。次に、システムに2番目のMavenバージョンをインストールできます。

マシンに他のバージョンのmavenをインストールしたら、それを再構成します。
[Jenkinsの管理]> [グローバルツール構成]でmavenソース(src)フォルダーのパスを設定しますが、今回は「自動インストールオプション」のチェックを外します 画像「mavenパスインストールの設定」を参照 今すぐJenkinsですべてのジョブを構築できます。

最後に、ステップ「7、8、9」を繰り返して、新しい構成をデフォルトとして設定します。

幸運を!

3
mattblissstar

以下の手順に従って問題を解決してください。私にとってはその仕事。

  1. 実行環境からMavenをアンインストールします。

  2. Mavenフォームをインストールします。

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

  3. 次を使用してtarファイルを抽出します。

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

  4. ここで、環境にM2_HOMEを設定します。 vi /etc/profileを開く

  5. ファイルの終わりに以下の行を追加してファイルを保存します。

    エクスポートM2_HOME =/opt/Apache-maven-3.3.9 /

    エクスポートM2 = "$ M2_HOME" bin

    エクスポートPATH = $ PATH:$ M2

  6. source /etc/profileを使用してこのファイルをコンパイルします

  7. Mavenホームパスが設定されました。 echo $M2_HOMEコマンドを使用して確認できます。

  8. プロジェクトを実行します。

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