持续集成环境(Hudson)搭建

这是在公司写的,公司要求用英文,我也没时间翻译了。还请见谅!
Hudson是个非常强大持续集成工具,配合svn,maven,sonar,redmine工具就更加完美了。大家要了解Hudson的介绍可以看这篇文章,我在这里就不详细介绍了。此外额外说下,由于Hudson被oracle收购后以前开发Hudson团队转移到了jekins。大家有兴趣可以google下。
 

Build Hudson Continuous Integration Environment

General steps:

1. Install the jdk environment

You can dowload the jdk in ”deb” suffix (http://www.oracle.com/technetwork/java/javase/downloads/index.html). And using a command "dpkg -i deb file path" to install it. 
Then you should set the environment. You can edit "/etc/profile" file, add followings to it`s tail :

JAVA_HOME=/home/liujicheng/java/jdk1.6.0_12 
export JRE_HOME=/home/liujicheng/java/jdk1.6.0_12/jre 
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

2. Install hudson

On ubuntu, we always installe a software with a file with a sufix "deb". You can download hudson in "deb" suffix (http://hudson-ci.org/) . And install it.

3. Install Vncserver

You can use command : "apt-get install tightvncserver".

4. Install subversion

You can use command : "apt-get install subversion".

5. Install svn

You can use command : "apt-get install svnkit".

6. Install smtp

You can use command : "apt-get install sendemail".

7. Configure hudson on hudson web page

The default port is 8080. You can reach to the page by visit "http://:<8080>", if you use the default port.

7.1 Plugins may needed to be installed.

SCP plugin, Gant Plugin, Hudson Emma plugin, Maven 2 job type plugin, Plot plugin, Hudson Dependency Viewer Plugin, Hudson Subversion Plug-in, Performance plugin, ChuckNorris Plugin, Hudson :: Maven 3 :: SNAPSHOT, MonitorJFreeChart Plugin, Maven 3 Build Plugin, Hudson CVS Plug-in, Maven Info Plugin, Measurement Plots, Sonar Plugin, Hudson Xvnc plugin, Hudson Mercurial plugin, Hudson disk-usage plugin, FTP publisher plugin, Redmine Plugin.

7.2 Configures hudson

Example:

8. Build a job

8.1 Build a new job

Example: 

8.2 Copy a job

If you want to build a job which has same configuration with existing job
Example: 

8.3 Configure a job

9. Commands of hudson

Start/stop/restart hudson : /etc/init.d/hudson start start/stop/restart

10. Install sonar

  1. Download zip file from official website.
  2. Unzip the file to any directory you want.
  3. Go to the directory named "bin" of sonar. Then you will see the version of system you should choose.
  4. Go to right directory and execute command:"sudo ./sonar.sh start".
  5. Sonar and other files should can be executed. You can use command:"sudo chmod 770 file_name".
  6. You can visit sonar by the address like: http://: . The default account: admin/admin.

Possible problem and it`s solution

1. Build JDK environment on ubuntu.

After jdk is installed, you need to set the jdk enironment. You can set a common jdk environment for every user through configuring "/etc/profile". In linux, the global profile always located in "/etc/"

2. Build Hudson Continuous Integration environment

3. Build a job

3.1 Lack vncserver software

Problem: FATAL: Cannot run program "vncserver" (in directory "/var/lib/hudson/jobs/csc_proto/workspace"): java.io.IOException: error=2, No such file or directory java.io.IOException: Cannot run program "vncserver" (in directory "/var/lib/hudson/jobs/csc_proto/workspace"): java.io.IOException: error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder?.java:488) at hudson.Proc$LocalProc.(Proc.java:187) at hudson.Proc$LocalProc.(Proc.java:157) at hudson.Launcher$LocalLauncher.launch(Launcher.java:649) at hudson.Launcher$ProcStarter.start(Launcher.java:266) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:94) at hudson.plugins.xvnc.Xvnc.setUp(Xvnc.java:80) at hudson.model.Build$RunnerImpl.doRun(Build.java:129) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild?.java:434) at hudson.model.Run.run(Run.java:1390) at hudson.model.FreeStyleBuild.run(FreeStyleBuild?.java:40) at hudson.model.ResourceController.execute(ResourceController?.java:82) at hudson.model.Executor.run(Executor.java:137) Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.(UNIXProcess.java:164) at java.lang.ProcessImpl.start(ProcessImpl?.java:81) at java.lang.ProcessBuilder.start(ProcessBuilder?.java:470) ... 12 more

Solution: Install a vncserver on the server. You can use command "apt-cache search vncserver" to find the vncserver software name, then use the command "apt-get install vncserver software name"

3.2 Having not set vncserver`s password

Problem: Another problem block the build process. The problem and solution are here:

The problem: Updating ............ revision: May 23, 2013 1:25:27 PM depth:infinity ignoreExternals: false U integration_tests/src/test/java/com/gsegment/.../PacketWorkflowTest.java At revision 2815 Starting xvnc [workspace] $ vncserver :78 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short Starting xvnc [workspace] $ vncserver :82 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short Starting xvnc [workspace] $ vncserver :59 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short Starting xvnc [workspace] $ vncserver :86 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short Starting xvnc [workspace] $ vncserver :60 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short Starting xvnc [workspace] $ vncserver :23 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short Starting xvnc [workspace] $ vncserver :92 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short Starting xvnc [workspace] $ vncserver :79 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short Starting xvnc [workspace] $ vncserver :37 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short Starting xvnc [workspace] $ vncserver :73 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short Starting xvnc [workspace] $ vncserver :87 -localhost -nolisten tcp

You will require a password to access your desktops.

Password: Password too short FATAL: Failed to run 'vncserver :87 -localhost -nolisten tcp' (exit code 1), blacklisting display #87; consider checking the "Clean up before start" option java.io.IOException: Failed to run 'vncserver :87 -localhost -nolisten tcp' (exit code 1), blacklisting display #87; consider checking the "Clean up before start" option at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:110) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:108) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:108) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:108) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:108) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:108) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:108) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:108) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:108) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:108) at hudson.plugins.xvnc.Xvnc.doSetUp(Xvnc.java:108) at hudson.plugins.xvnc.Xvnc.setUp(Xvnc.java:80) at hudson.model.Build$RunnerImpl.doRun(Build.java:129) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild?.java:434) at hudson.model.Run.run(Run.java:1390) at hudson.model.FreeStyleBuild.run(FreeStyleBuild?.java:40) at hudson.model.ResourceController.execute(ResourceController?.java:82) at hudson.model.Executor.run(Executor.java:137)

The solution: 1.You should login the serve with hudson, if you do not know the password you can reset it by administrate user. 2.Run command "vncserver".You need enter password at the first time you run this command. --   - 24 May 2013

The analysis: When you run the command "vncserver" at the first time ,you need set the password. Therefore, the server are waiting for your entering password, and can not go on running your command.

3.3 Having not put the "settings" file into maven home named ".m2"

*Problem:*org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project ...: Failed to deploy artifacts: Could not transfer artifact com.gsegment....: :pom:0.1-20130702.005529-277 from/to snapshots (...): Failed to transfer file:... . Return code is: 401, ReasonPhrase?:Unauthorized. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:217) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder?.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder?.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter?.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter?.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven?.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven?.java:156) at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher?.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl?.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl?.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main?.java:146) at hudson.maven.Maven3Builder.call(Maven3Builder?.java:124) at hudson.maven.Maven3Builder.call(Maven3Builder?.java:71) at hudson.remoting.UserRequest.perform(UserRequest?.java:107) at hudson.remoting.UserRequest.perform(UserRequest?.java:41) at hudson.remoting.Request$2.run(Request.java:276) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask?.java:334) at java.util.concurrent.FutureTask.run(FutureTask?.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor?.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor?.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to deploy artifacts: Could not transfer artifact com.gsegment....:...:pom:0.1-20130702.005529-277 from/to snapshots (...): Failed to transfer file: ... . Return code is: 401, ReasonPhrase?:Unauthorized. at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo?.java:193) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager?.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:209) ... 27 more Caused by: org.apache.maven.artifact.deployer.ArtifactDeploymentException: Failed to deploy artifacts: Could not transfer artifact com.gsegment....:...:pom:0.1-20130702.005529-277 from/to snapshots (...): Failed to transfer file:. Return code is: 401, ReasonPhrase?:Unauthorized. at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer?.java:141) at org.apache.maven.plugin.deploy.AbstractDeployMojo.deploy(AbstractDeployMojo?.java:167) at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo?.java:149) ... 29 more Caused by: org.sonatype.aether.deployment.DeploymentException: Failed to deploy artifacts: Could not transfer artifact com.gsegment....:...:pom:0.1-20130702.005529-277 from/to snapshots (...): Failed to transfer file: ... . Return code is: 401, ReasonPhrase?:Unauthorized. at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer?.java:280) at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer?.java:211) at org.sonatype.aether.impl.internal.DefaultRepositorySystem.deploy(DefaultRepositorySystem?.java:443) at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer?.java:137) ... 31 more Caused by: org.sonatype.aether.transfer.ArtifactTransferException: Could not transfer artifact com.gsegment....:...:pom:0.1-20130702.005529-277 from/to snapshots (...): Failed to transfer file: http://.../nexus/content/repositories/snapshots/com/gsegment/.../.../0.1-SNAPSHOT/...-0.1-20130702.005529-277.pom. Return code is: 401, ReasonPhrase?:Unauthorized. at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector?.java:951) at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector?.java:941) at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector?.java:837) at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.put(WagonRepositoryConnector?.java:467) at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer?.java:274) ... 34 more Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer file:http://.../nexus/content/repositories/snapshots/com/gsegment/.../.../0.1-SNAPSHOT/...-0.1-20130702.005529-277.pom. Return code is: 401, ReasonPhrase?:Unauthorized. at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon?.java:562) at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon?.java:471) at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon?.java:451) at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector?.java:811)

The solution: You should put the "settings" file into ".m2" folder. If you installed hudson , ".m2" folder maybe located in hudson user home. Otherwise, you installed it by a "war" file, you can find it in the user who installed huson. If it still dose not work, you can use command " find / m2 |grep m2" to search if any other palce to set maven. Sometimes, you can find a settings file in the folder path : ".hudson/maven/slavebundle/bundled-maven/conf ".

Analysis: It says hudson is Unauthorized, must be caused by maven`s configuration file named "settings" is not existing or in wrong setting.

3.4 Having not installed subversion

Problem: [ERROR] Provider message: [ERROR] The svn command failed. [ERROR] Command output: [ERROR] /bin/sh: 1: svn: not found

mojoFailed org.apache.maven.plugins:maven-scm-plugin:1.8.1(default-cli) projectFailed com.gsegment....:...:0.1-SNAPSHOT sessionEnded [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] ... 中方科学中心原型系统 ................................... FAILURE [52.922s] [INFO] Core Class Module ................................. SUCCESS [1:37.187s] [INFO] Util .............................................. SUCCESS [18.339s] [INFO] VOEvent Router .................................... SUCCESS [5.058s] [INFO] VOEvent Generator ................................. SUCCESS [10.022s] [INFO] Packet Generator .................................. SUCCESS [2:26.334s] [INFO] Database Management System ........................ SUCCESS [29.147s] [INFO] Input and Output .................................. SUCCESS [3.428s] [INFO] Packet Ingest ..................................... SUCCESS [2:31.760s] [INFO] Electrical Ground Support Equipment ............... SUCCESS [24.669s] [INFO] VOEvent Ingest .................................... SUCCESS [3.863s] [INFO] Quick Look Assessment ............................. SUCCESS [22.936s] [INFO] Auxiliary data router ............................. SUCCESS [3.182s] [INFO] Auxiliary data generator .......................... SUCCESS [7.725s] [INFO] Wrapper for VT Simulator .......................... SUCCESS [3:00.464s] [INFO] voePublish Maven Webapp ........................... SUCCESS [18.261s] [INFO] Engineering Simulator ............................. SUCCESS [6.873s] [INFO] Auxiliary data ingest ............................. SUCCESS [8.945s] [INFO] Integration Tests ................................. SUCCESS [46.115s] [INFO] Hipe Plugin ....................................... SUCCESS [1:11.594s] [INFO] Bin Package for ... ......................... SUCCESS [1:55.598s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 18:46.834s [INFO] Finished at: Tue Jul 02 09:44:06 CST 2013 [INFO] Final Memory: 94M/805M [INFO] ------------------------------------------------------------------------ mavenExecutionResult exceptions not empty org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-scm-plugin:1.8.1:status (default-cli) on project ...: Command failed.The svn command failed. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:217) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder?.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder?.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter?.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter?.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven?.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven?.java:156) at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher?.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl?.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl?.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main?.java:146) at hudson.maven.Maven3Builder.call(Maven3Builder?.java:124) at hudson.maven.Maven3Builder.call(Maven3Builder?.java:71) at hudson.remoting.UserRequest.perform(UserRequest?.java:107) at hudson.remoting.UserRequest.perform(UserRequest?.java:41) at hudson.remoting.Request$2.run(Request.java:276) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask?.java:334) at java.util.concurrent.FutureTask.run(FutureTask?.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor?.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor?.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.maven.plugin.MojoExecutionException: Command failed.The svn command failed. at org.apache.maven.scm.plugin.AbstractScmMojo.checkResult(AbstractScmMojo?.java:439) at org.apache.maven.scm.plugin.StatusMojo.execute(StatusMojo?.java:56) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager?.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:209) ... 27 more Maven failed with error. channel stopped

The solution: You can install subversion with the command : " sudo apt-cache search subversion"

3.5 Svn upgrade

Problem: [ERROR] Provider message: [ERROR] The svn command failed. [ERROR] Command output: [ERROR] svn: E155036: Please see the 'svn upgrade' command svn: E155036: Working copy '/root/.hudson/jobs/csc_proto/workspace' is too old (format 8, created by Subversion 1.4)

mojoFailed org.apache.maven.plugins:maven-scm-plugin:1.8.1(default-cli) projectFailed com.gsegment....:...:0.1-SNAPSHOT sessionEnded [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] ...  ................................... FAILURE [5.921s] [INFO] Core Class Module ................................. SUCCESS [15.966s] [INFO] Util .............................................. SUCCESS [18.526s] [INFO] VOEvent Router .................................... SUCCESS [4.937s] [INFO] VOEvent Generator ................................. SUCCESS [6.382s] [INFO] Packet Generator .................................. SUCCESS [1:38.734s] [INFO] Database Management System ........................ SUCCESS [18.027s] [INFO] Input and Output .................................. SUCCESS [3.736s] [INFO] Packet Ingest ..................................... SUCCESS [2:28.716s] [INFO] Electrical Ground Support Equipment ............... SUCCESS [31.217s] [INFO] VOEvent Ingest .................................... SUCCESS [4.040s] [INFO] Quick Look Assessment ............................. SUCCESS [22.190s] [INFO] Auxiliary data router ............................. SUCCESS [3.974s] [INFO] Auxiliary data generator .......................... SUCCESS [7.297s] [INFO] Wrapper for VT Simulator .......................... SUCCESS [2:57.208s] [INFO] voePublish Maven Webapp ........................... SUCCESS [7.241s] [INFO] Engineering Simulator ............................. SUCCESS [8.477s] [INFO] Auxiliary data ingest ............................. SUCCESS [8.651s] [INFO] Integration Tests ................................. SUCCESS [47.235s] [INFO] Hipe Plugin ....................................... SUCCESS [18.703s] [INFO] Bin Package for ... ......................... SUCCESS [2:00.218s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 14:45.732s [INFO] Finished at: Tue Jul 02 10:34:38 CST 2013 [INFO] Final Memory: 85M/822M [INFO] ------------------------------------------------------------------------ mavenExecutionResult exceptions not empty org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-scm-plugin:1.8.1:status (default-cli) on project ...: Command failed.The svn command failed. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:217) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder?.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder?.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter?.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter?.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven?.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven?.java:156) at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher?.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl?.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl?.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main?.java:146) at hudson.maven.Maven3Builder.call(Maven3Builder?.java:124) at hudson.maven.Maven3Builder.call(Maven3Builder?.java:71) at hudson.remoting.UserRequest.perform(UserRequest?.java:107) at hudson.remoting.UserRequest.perform(UserRequest?.java:41) at hudson.remoting.Request$2.run(Request.java:276) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask?.java:334) at java.util.concurrent.FutureTask.run(FutureTask?.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor?.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor?.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.maven.plugin.MojoExecutionException: Command failed.The svn command failed. at org.apache.maven.scm.plugin.AbstractScmMojo.checkResult(AbstractScmMojo?.java:439) at org.apache.maven.scm.plugin.StatusMojo.execute(StatusMojo?.java:56) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager?.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor?.java:209) ... 27 more Maven failed with error.

*The solution: * Go into the workspace directory, then run command: "svn upgrade"

3.6 How to change hudson home location

*Problem: * After we move hudson folder (such like :/home/root/.hudson) to another place, how hudson know that.

*The solution: * One way : You can change the environemt by append "HUDSON_HOME=/home/hudson/hudson-home/" to the file “/etc/profile”. 
Another way : You can set hudson home in the file "web.xml" of hudson: <env-entry> <env-entry-name>HUDSON_HOME</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value></env-entry-value> </env-entry>

 
 
 

持续集成环境(Hudson)搭建的更多相关文章

  1. 构建基于Jenkins + Github的持续集成环境

    搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...

  2. Hudson+Maven+Svn搭建持续集成环境

    Hudson+Maven+Svn搭建持续集成环境 博客分类: 配置管理 mavenSVNTomcat项目管理配置管理 一.所用开发工具 1.    Hudson: Hudson 是一种革命性的开放源码 ...

  3. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  4. 用MSBuild和Jenkins搭建持续集成环境(2)

    http://www.infoq.com/cn/articles/MSBuild-2   作者 Mustafa Saeed Haji Ali ,译者 李剑 发布于 2012年10月23日 | 注意:  ...

  5. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...

  6. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

  7. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 2015-01-14 20:28 by 飘扬的红领巾, 4322 阅读, 5 评论, 收藏, 编辑 ...

  8. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)

    前言     但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...

  9. 基于 Jenkins 快速搭建持续集成环境

      什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火 ...

随机推荐

  1. 开始 space viking 之旅

     设备 cocos2d-v2 眼下cocos2d-v3也不太稳定,它在很大程度上仍然是变化的功能. 对于稳定.我们仍然使用 v2 wget -c http://cocos2d-iphone.goo ...

  2. AngularJS系列之总结

    AngularJS深入的系列就是这九篇博客了,把我以前在项目中应用到的和自己学习的都总结在了里面.为了更方便的看,把我写的AngularJS系列的博客都列到下面.之后就开始学习ionic:html5移 ...

  3. 通过扩展改善ASP.NET MVC的验证机制[使用篇]

    原文:通过扩展改善ASP.NET MVC的验证机制[使用篇] ASP.NET MVC提供一种基于元数据的验证方式是我们可以将相应的验证特性应用到作为Model实体的类型或者属性/字段上,但是这依然具有 ...

  4. 发现新大陆:一个最简单的破解SSL加密网络数据包的方法

    1. 简介 相信能访问到这篇文章的同行基本上都会用过流行的网络抓包工具WireShark,用它来抓取相应的网络数据包来进行问题分析或者其他你懂的之类的事情. 一般来说,我们用WireShark来抓取包 ...

  5. 第4章1节《MonkeyRunner源码剖析》ADB协议及服务: ADB协议概览OVERVIEW.TXT翻译参考(原创)

    天地会珠海分舵注:本来这一系列是准备出一本书的,详情请见早前博文“寻求合作伙伴编写<深入理解 MonkeyRunner>书籍“.但因为诸多原因,没有如愿.所以这里把草稿分享出来,所以错误在 ...

  6. ckplayer

    ckplayer 的使用基本功能实现(一) 有个项目里用到视频播放功能,虽然是国产的插件,但我觉得做的还是不错,而且是免费使用,顺便支持下国内的一些项目(O(∩_∩)O~). 一.首先去官网下载 插件 ...

  7. ural1519插头DP

    1519. Formula 1 Time limit: 1.0 second Memory limit: 64 MB Background Regardless of the fact, that V ...

  8. 我看PS求职简历照

    看新闻<大学生求职简历照片不PS 连面试机会都没有>,忍不住也谈些自己的看法. 个人意见,尽量求真,这个求真要有平时努力的保证.长相一般的,知道自己是普通一员,按普通的方式行事就可以.即使 ...

  9. OCP-1Z0-051-题目解析-第10题

    10. View the Exhibit and examine the structure of the PROMOTIONS table. Each promotion has a duratio ...

  10. SVN服务器搭建(3)

    转自:http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2408089.html vs 2013 svn插件:http://www.visua ...