2017-09-03 16 views
0

私はGoogleのポリマーリソースをコンパイルしてローカル(Windows 10とUbuntu Linuxシェルの統合)の特定のフォルダに置いていますが、 Jenkins(Ubuntu 17.04 Server上のDockerコンテナに入っています)が失敗します。mavenはローカルでは動作しますが、javascriptリソースで作業する場合はジェンキンで失敗します

node { 
    def mvnHome 
    def nodeHome 
    stage('Preparation') { // for display purposes 
     // Get some code from a GitHub repository 
     git 'https://github.com/ITGuy9401/RPGMakerVXtoMVConverterWEB.git' 
     // Get the Maven tool. 
     // ** NOTE: This 'M3' Maven tool must be configured 
     // **  in the global configuration.   
     mvnHome = tool 'maven35' 
     nodeHome = tool 'nodejs840' 
     env.PATH = "${nodeHome}/bin:${mvnHome}/bin:${env.PATH}" 
    } 
    stage('Build') { 

     // Run the maven build 
     if (isUnix()) { 
     sh "'${mvnHome}/bin/mvn' -Dmaven.test.failure.ignore clean package" 
     } else { 
     bat(/"${mvnHome}\bin\mvn" -Dmaven.test.failure.ignore clean package/) 
     } 
    } 
    stage('Results') { 
     junit '**/target/surefire-reports/TEST-*.xml' 
     archive 'target/*.jar' 
    } 
} 

とがあります:それ

ポンポン構成はここGitHub

パイプラインの構成にあると

私はジェンキンスと初心者だが、これが私の最初のテストですコンソール出力

[INFO] ------------------------------------------------------------------------ 
[INFO] Building app 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.6.1:clean (default-clean) @ app --- 
[INFO] 
[INFO] --- exec-maven-plugin:1.6.0:exec (clean-web-res) @ app --- 
[INFO] 
[INFO] --- exec-maven-plugin:1.6.0:exec (prepare-resource-folder) @ app --- 
[INFO] 
[INFO] --- exec-maven-plugin:1.6.0:exec (npm-install) @ app --- 
npm WARN [email protected] No repository field. 

up to date in 5.152s 
[INFO] 
[INFO] --- exec-maven-plugin:1.6.0:exec (bower-build) @ app --- 
[INFO] 
[INFO] --- exec-maven-plugin:1.6.0:exec (polymer-build) @ app --- 
info: Clearing build/ directory... 
info: (default) Building... 
info: (default) Build complete! 
[INFO] 
[INFO] --- exec-maven-plugin:1.6.0:exec (test-list-files) @ app --- 
bower.json 
bower_components 
images 
index.html 
manifest.json 
src 
[INFO] 
[INFO] --- exec-maven-plugin:1.6.0:exec (move-files) @ app --- 
cp: cannot stat 'dev-static/build/default/*': No such file or directory 
[ERROR] Command execution failed. 
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) 
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404) 
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166) 
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:804) 
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:751) 
    at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:313) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:191) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 

私は多くのそれを動作させるためにptsが、しかし何も役立たなかった。 助けを借りて助けてくれてありがとう!

<rgument> 

代わり

<argument> 

の...いくつかの場所で発生します。

答えて

1

私の推測では、それがすべての原因はあなたのPOMのタイプミスであるということです。それをチェックしてください。

私の説明:staticディレクトリが既に存在するクリーンでない環境のWindows 10 PCでテストを実行したと思われるため、誤って作成されたゴールアクションstaticは暗黙のうちに無視されました。しかし、きれいな環境(Ubuntu)でテストすると、generate-sourcesフェーズでstaticディレクトリが作成されず、エラーが発生しました。

Mavenでビルドするときには、srcディレクトリにとするのがよい方法です。ビルディング中にファイルコンテンツを作成する必要がある場合は、targetディレクトリ内に生成する必要があります。このようにしてcleanでビルドを開始すると、targetディレクトリが確実に削除され、クリーンな環境でビルドが開始されます。

そして、あなたはあなたのポンポンで行うことができます別の改善は、完全なプログラムを含まなければならない1つのカスタムスクリプトを呼び出すだけで一つgenerate-sources相にexec-maven-pluginのすべて<execution>sを交換することである。このように

mkdir static 
npm install 
node_modules/.bin/bower 
... 

をスクリプトプログラムがより読みやすくなります。

+0

ありがとう使っているファイルかを見ることができますので、あなたのMVN命令に-xを追加するが、なぜMavenは、DTD検証のためのエラーを印刷しないのですか? ところで、

+0

私はジェンキンスの上にそれを構築しようとしていますが、私はベストプラクティスを作るためにいくつかのリファクタリングを行います –

+0

私は参照してください。それは本当ですか?エラーが発生した瞬間に、ディレクトリ '/src/main/resources/dev-static/build/default'が存在し、そこにファイルがありますか? –

1

ローカルマシンとJenkinsのsettings.xmlが同じであることを確認してください。

あなたが

関連する問題