How do I fix my SVN checkout on my Jenkins Slave? - macos

I have spent a few days trying to get Jenkins working with svn.
On the master, when I configure the svn url, it validates the URL.
I can do a checkout manually, and am running the slave as the same user as I did the test manual checkout.
I have tried selecting all the different versions of svn on the jenkins config page.
I have checked that entering the incorrect creds on the subversion enterCredential page results in an error, and entering the correct creds allows it to pass.
We are using basic svn auth over http (on port 8080).
The URL validation in the job config passes okay, but the job running on the slave still throws the below exception.
From my various readings of information gleened from the net I am pretty sure this is an authentication issue.
The slave is a Mac OS X, the master is a Windows Server 2008.
Jenkins in running 1.504 (Tried with 1.502). We are using svn 1.6.
Here is the exception:
Building remotely on Mac OS Test Node in workspace /Users/buildmachine/jenkins/xcode
hudson.util.IOException2: remote file operation failed: /Users/buildmachine/jenkins/xcode at hudson.remoting.Channel#1695eeb:Mac OS Test Node
at hudson.FilePath.act(FilePath.java:861)
at hudson.FilePath.act(FilePath.java:838)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:843)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:781)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1342)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:683)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:588)
at hudson.model.Run.execute(Run.java:1568)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:237)
Caused by: java.io.IOException: Remote call on Mac OS Test Node failed
at hudson.remoting.Channel.call(Channel.java:681)
at hudson.FilePath.act(FilePath.java:854)
... 11 more
Caused by: java.lang.NoSuchMethodError: org.tmatesoft.svn.core.wc.SVNBasicClient.getOperationsFactory()Lorg/tmatesoft/svn/core/wc2/SvnOperationFactory;
at hudson.scm.SvnClientManager.wrapUp(SvnClientManager.java:46)
at hudson.scm.SvnClientManager.getUpdateClient(SvnClientManager.java:67)
at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:71)
at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:153)
at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:903)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:884)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:867)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2348)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Finished: FAILURE

I had to remove the newer jar as well:
cd /var/lib/jenkins/plugins/subversion/WEB-INF/lib
mv svnkit-1.7.10-jenkins-1.jar /tmp
/etc/init.d/jenkins restart and it worked! Great Find!

Found the problem..
There was an old svnkit-1.3.6.1-jenkins-2.jar in C:\Program Files (x86)\Jenkins\plugins\subversion\WEB-INF\lib
Shutting down jenkins and deleting this file solved the issue.

Related

How to setup a Jenkins slave agent on a Mac to retrieve files using Plastic?

I have a Jenkins server running on Ubuntu; sources are on Plastic and I already have a Windows slave making Android builds, so the Plastic server is well responding with Jenkins.
I try to build the project for IOS on Mac but the job fails when getting the sources with a java exception
java.io.IOException: error=2, No such file or directory
I tried to remove the source control for the job and just running some commands like :
cm status
It failed, so I updated the PATH environment variable to make it work. Now it's ok for manual commands but still not for the automatic plastic pull.
I configured the job to pull from it using the PlasticSCM Plugin using the selector :
repository "MyRepo"
path "/"
smartbranch "/My/Branch"
Here is the complete error :
[test-mac] $ cm find changeset where date between '2019-05-27T11:14:36' and '2019-05-27T11:15:43' and branch='/My/Branch' on repositories 'MyRepo' --xml --dateformat=yyyy'-'MM'-'dd'T'HH':'mm':'ss
java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from 192.168.1.46/192.168.1.46:49336
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1743)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
at hudson.remoting.Channel.call(Channel.java:957)
at hudson.Launcher$RemoteLauncher.launch(Launcher.java:1059)
at hudson.Launcher$ProcStarter.start(Launcher.java:455)
at com.codicesoftware.plugins.hudson.PlasticTool.tryExecute(PlasticTool.java:97)
at com.codicesoftware.plugins.hudson.PlasticTool.execute(PlasticTool.java:57)
at com.codicesoftware.plugins.hudson.commands.CommandRunner.execute(CommandRunner.java:20)
at com.codicesoftware.plugins.hudson.commands.CommandRunner.executeAndRead(CommandRunner.java:36)
at com.codicesoftware.plugins.hudson.commands.CommandRunner.executeAndRead(CommandRunner.java:25)
at com.codicesoftware.plugins.hudson.commands.ChangesetsRetriever.getChangesets(ChangesetsRetriever.java:27)
at com.codicesoftware.plugins.hudson.commands.ChangesetsRetriever.getDetailedHistory(ChangesetsRetriever.java:36)
at com.codicesoftware.plugins.hudson.PlasticSCM.FindCsets(PlasticSCM.java:363)
at com.codicesoftware.plugins.hudson.PlasticSCM.SetUpWorkspace(PlasticSCM.java:175)
at com.codicesoftware.plugins.hudson.PlasticSCM.checkout(PlasticSCM.java:141)
at hudson.scm.SCM.checkout(SCM.java:504)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1208)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:574)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
at hudson.model.Run.execute(Run.java:1816)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Caused: java.io.IOException: Cannot run program "cm" (in directory "/Users/MyUser/Jenkins/workspace/test-mac"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at hudson.Proc$LocalProc.<init>(Proc.java:249)
at hudson.Proc$LocalProc.<init>(Proc.java:218)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:936)
at hudson.Launcher$ProcStarter.start(Launcher.java:455)
at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1313)
at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:1266)
at hudson.remoting.UserRequest.perform(UserRequest.java:212)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:369)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)
at java.lang.Thread.run(Thread.java:748)
I think the problem could be related to the following Jenkins bug:
https://issues.jenkins-ci.org/browse/JENKINS-17157 (Enviroment variables are not loaded in ssh using cygwin)
If your slave is connecting via SSH to your Jenkins server, the environment variables are lost so you can't run "cm" commands.
The following link may be useful: (https://support.cloudbees.com/hc/en-us/articles/229724088-How-to-set-up-a-Jenkins-agent-to-have-the-same-path-as-the-user-when-connected-via-Remote-Desktop-)
In the past, we tried to connect the slave via "Java Web Start" (not via SSH) and we were not able to reproduce this issue with the lost PATH variable (it's only happening when connecting via SSH).
On the macOS:
- Running:
eg:
sudo java -jar agent.jar -jnlpUrl http://MySERVER84/computer/macOsJava/slave-agent.jnlp -secret f5dcf86e0ceed3f22c08bc27fa07d680aff3e11c25452677af4fee218bcfb1aa -workDir "/tmp"

SonarQube - Temp directory is not writable [duplicate]

This question already has answers here:
SonarQube - Unable to load the Wrapper's native library 'wrapper.dll'
(5 answers)
Closed 3 months ago.
I'm installing SonarQube v5.0.1.
I'm running Windows Server 2012 64-bit, Java 1.8 64-bit, and the SonarQube windows-x86-64 wrapper.
SonarQube keeps throwing the following error:
WrapperSimpleApp: Encountered an error running main: java.lang.IllegalStateException: Temp directory is not writable: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\
java.lang.IllegalStateException: Temp directory is not writable: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\
at org.sonar.process.MinimumViableSystem.checkWritableDir(MinimumViableSystem.java:60)
at org.sonar.process.MinimumViableSystem.checkWritableTempDir(MinimumViableSystem.java:52)
at org.sonar.process.MinimumViableSystem.check(MinimumViableSystem.java:45)
at org.sonar.application.App.main(App.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createTempFile(Unknown Source)
at org.sonar.process.MinimumViableSystem.checkWritableDir(MinimumViableSystem.java:57)
... 9 more
<-- Wrapper Stopped
Why does SonarQube keep trying to write to C:\Windows\System32\config\systemprofile\AppData\Local instead of C:\Windows\SysWOW64\config\systemprofile\AppData\Local?
To get rid of this error in previous installations, I've had to create a Temp folder in C:\Windows\System32\config\systemprofile\AppData\Local and fiddle with the read/write settings and or permissions to get SonarQube to stop complaining.
UPDATE: This is a huge problem, because I can't start SonarQube as a Windows Service. What's weird is that I already had SonarQube installed and running as a Windows Service. Today, I stopped the service, and now I can't start the service anymore. I've set the Temp folder's permissions to be not Read-Only and so that Everyone has Full Control (not ideal, I know...)
Still, the Temp error prevents SonarQube from starting.
This can also be fixed by setting the java.io.tmpdir java property to a writable directory.
e.g., in conf/wrapper.conf change
wrapper.java.additional.1=-Djava.awt.headless=true
to
wrapper.java.additional.1=-Djava.awt.headless=true -Djava.io.tmpdir=E:/sonarqube-5.1/temp
I had the same error in my sonar log when trying to start the service after I had installed it.
I had JAVA_HOME and x64 all correctly set up.
I managed to resolve the issue in the log above by changing the 'Log On As' for the installed service to 'NETWORK SERVICE' (without a password), then started the service. By default it had set the Log On As to Local System.
Probably another thing worth mentioning is if you're setting up SonarQube for the first time it may be best to get the website working before installing the service, otherwise debugging is a bit of a pain.
I had the same issue today with sonarqube 5.6 and Windows Server 2008 R2. Nothing of the above worked for me but what fixed the issue was defining a system variable TMPDIR pointing to another temp-directory e.g. C:\TMP
I had the same error when running some sonar analysis.
It turned out that in wrapper.conf I had to add
set.TMPDIR=c:/tmp
with path to the existing tmp directory and of course service needed to be reinstalled (UninstallNTService.bat / InstallNTService.bat)
In case of Windows (specifically Windows 10), delete the file under temp folder [under sonar folders] and run startSonar.bat. It should work.

How to run jenkins slave on windows 2012 r2 x64?

We want to use jenkins to build some specific software on Windows 2012 R2 x64.
But when I trying to run it, master node fails whis this error:
Connecting to 192.168.1.27
Checking if Java exists
C:\Program Files\Java\jdk1.6.0_30\bin\java.exe -version returned 1.6.0.
Installing the Jenkins slave service
ERROR: Message not found for errorCode: 0xC00000AC
org.jinterop.dcom.common.JIException: Message not found for errorCode: 0xC00000AC
at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKLM(JIWinRegStub.java:102)
at hudson.util.jna.DotNet.isInstalled(DotNet.java:77)
at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:292)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:222)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
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:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
Caused by: jcifs.smb.SmbException: All pipe instances are busy.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563)
at jcifs.smb.SmbTransport.send(SmbTransport.java:664)
at jcifs.smb.SmbSession.send(SmbSession.java:238)
at jcifs.smb.SmbTree.send(SmbTree.java:119)
at jcifs.smb.SmbFile.send(SmbFile.java:775)
at jcifs.smb.SmbFile.open0(SmbFile.java:989)
at jcifs.smb.SmbFile.open(SmbFile.java:1006)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142)
at jcifs.smb.TransactNamedPipeOutputStream.<init>(TransactNamedPipeOutputStream.java:32)
at jcifs.smb.SmbNamedPipe.getNamedPipeOutputStream(SmbNamedPipe.java:187)
at rpc.ncacn_np.RpcTransport.attach(RpcTransport.java:91)
at rpc.Stub.attach(Stub.java:104)
at rpc.Stub.call(Stub.java:109)
at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKLM(JIWinRegStub.java:100)
and I don't know what is wrong.
Yes, I've read this carefully.
upd. ok. I removed server from domain. Now jenkins says:
Connecting to 192.168.1.27
Checking if Java exists
C:\Program Files\Java\jdk1.6.0_30\bin\java.exe -version returned 1.6.0.
Installing the Jenkins slave service
Copying jenkins-slave.exe
Copying slave.jar
Copying jenkins-slave.xml
Registering the service
Starting the service
Waiting for the service to become ready
ERROR: The service did not respond. Perhaps it failed to launch?
In EventViewer I see:
Service cannot be started. System.ComponentModel.Win32Exception: The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at winsw.WrapperService.StartProcess(Process process, String arguments, String executable)
at winsw.WrapperService.OnStart(String[] _)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
I had the same issue on on Windows 2012 R2 x64:
Installing the Jenkins slave service
ERROR: Message not found for errorCode: 0xC00000AC
org.jinterop.dcom.common.JIException: Message not found for errorCode: 0xC00000AC
at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKLM(JIWinRegStub.java:102)
at hudson.util.jna.DotNet.isInstalled(DotNet.java:77)
at hudson.os.windows.ManagedWindowsServiceLauncher.launch(ManagedWindowsServiceLauncher.java:292)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:228)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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:745)
Caused by: jcifs.smb.SmbException: All pipe instances are busy.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563)
at jcifs.smb.SmbTransport.send(SmbTransport.java:664)
at jcifs.smb.SmbSession.send(SmbSession.java:238)
at jcifs.smb.SmbTree.send(SmbTree.java:119)
at jcifs.smb.SmbFile.send(SmbFile.java:775)
at jcifs.smb.SmbFile.open0(SmbFile.java:989)
at jcifs.smb.SmbFile.open(SmbFile.java:1006)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142)
at jcifs.smb.TransactNamedPipeOutputStream.<init>(TransactNamedPipeOutputStream.java:32)
at jcifs.smb.SmbNamedPipe.getNamedPipeOutputStream(SmbNamedPipe.java:187)
at rpc.ncacn_np.RpcTransport.attach(RpcTransport.java:91)
at rpc.Stub.attach(Stub.java:104)
at rpc.Stub.call(Stub.java:109)
at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenHKLM(JIWinRegStub.java:100)
... 7 more
and have found out, that jenkins slave to be run as a service requires to have .net 3.x installed (which is not by default on win2012 servers).
After having the 3.5 .net framework installed jenkins slave service got installed without issues (and the server remained in domain).
To not loose time in case you'd hit problems while installing 3.5 framework as I did, refer to this SO answer: Offline installer for .Net 3.5 SP1 not working (disabling the WSUS helped me to get the installation through)
I had this issue:
Service cannot be started. System.ComponentModel.Win32Exception: The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at winsw.WrapperService.StartProcess(Process process, String arguments, String executable)
at winsw.WrapperService.OnStart(String[] _)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
And the problem went away when i changed Path to java executable from :
C:\ProgramData\Oracle\Java\javapath\javaw
to
C:\ProgramData\Oracle\Java\javapath\java
I think 'w' is appended by JENKINS anyway.
I have a Windows 8 slave, which does work. Fair chance the Java path is incorrect, mine is set to C:\Program Files (x86)\Java\jre7\bin\java (yes, no .exe or anything, adjust just the Program (x86) Files part if you want to use x64 version) in Jenkins. I also have remote root set (to C:\jenkins) and I have an environment variable HOME set to C:\jenkins\ (yes, one is with \ and the other without), but that's only to make it easy to find the files after installation.
My slave works, appears online and then after a while (of idling mostly) will have connection issues. Disconnecting and reconnecting will then sometimes give the 'All pipe instances are busy' error, in that case I just have to do Launch slave agent a couple of times. Found your question when trying to solve that particular issue...
First thing, you can Go to the slave machine, Go to Jenkins -> Manage -> Manage Nodes and select the Slave and launch via java web start.
by doing this you will download a .jnlp file and launch it using java configured by you.
Make sure you have configured path to javaws.exe in system variable "PATH"(with version 1.6 or higher).
It will launch a window and and display as "Connected".
Now you can click on "File" and install as service.
This fails giving you an exception if the machine does not have .NET 3.x so make sure you have installed it and then try it again.
This works pretty cleanly without any issues.
Hope this helps.
For me this issue was resolved by uninstalling old java.
I encountered a similar issue, when trying to run the slave(agent) from master(jenkins), after making one configuration change as below it worked fine,
the below settings needs to added in the agent node->configure.
JVM option -Djsse.enableSNIExtension=false
At Jenkins->Agent node, for a windows server 2012 slave configuration

Jenkins fails to restart

I was working on granting permission on Jenkins, I edited org.jenkins-ci.plist file in order to grant permission. Then restarted Jenkins by using java -jar jenkins-cli.jar -s https://localhost:8080
The webpage gave me this error.
org.jvnet.hudson.reactor.ReactorException: java.lang.Error: java.lang.reflect.InvocationTargetException
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:246)
at jenkins.InitReactorRunner.run(InitReactorRunner.java:43)
at jenkins.model.Jenkins.executeReactor(Jenkins.java:889)
at jenkins.model.Jenkins.<init>(Jenkins.java:794)
at hudson.model.Hudson.<init>(Hudson.java:81)
at hudson.model.Hudson.<init>(Hudson.java:77)
at hudson.WebAppMain$2.run(WebAppMain.java:217)
Caused by: java.lang.Error: java.lang.reflect.InvocationTargetException
at hudson.init.InitializerFinder.invoke(InitializerFinder.java:124)
at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:878)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120)
... 8 more
Caused by: java.lang.NullPointerException
at org.jenkinsci.main.modules.sshd.SSHD.init(SSHD.java:144)
... 13 more
Since then I can't even use Jenkins-CLI nor jenkins itself.
What should I do to fix this?
And What should I do to avoid having the same errors when I need to change permission and restart jenkins in the future?
Thanks in advance
P.S. I'm using Mac OS Mountain Lion 10.8, and using Jenkins 1.474
Probably reported bug in jenkins. check here, you can revert your changes and/or try to older version of jenkins.
I had a similar error on Debian...
For Jenkins adding & granting permissions to Jenkins users
When enabling security on jenkins make sure you check
- "enable sign up", or something like that
- the option to store users, for example "jenkins own database"
- make sure that anonymous user have minimum read permission
Grant Jenkins permission on PC
Must say that I don't know the directory structure on Mac, but if it's similar to Linux...
- you should have a file called jenkins, on Linux is in /etc/sysconfig or /etc/default and in this file change JENKINS_USER to whatever user you want.But you must be sure that that user exists on PC, on Linux the user must be in /etc/passwd
change permissions to Jenkins home,webroot and logs, on Linux with:
chown -R user:user /var/lib/jenkins
chown -R user:user /var/cache/jenkins
chown -R user:user /var/log/jenkins
PS: I gave the Linux examples because it's easily to explain, again I don't have experience on Mac.
But it should work...
Trying to delete the folder contents and then refresh your website with your local host address,then you will see some unlock tip with the password appear in the terminal. Then go ahead to reinstall your plugins . Hope will help you!

Hudson Deploy error on Tomcat 7

I am deploying a WAR file with Hudson 2.1.2 Post Maven Build which fails with this error message. I have the Hudson deploy plugin installed
Deploying
C:\Users\Admin\workspace_astra\astra-maven\target\astra-maven-0.0.1-SNAPSHOT.war
to container Tomcat 7.x Remote The property cargo.tomcat.manager.url
has been deprecated, please use cargo.remote.uri instead. ERROR:
Publisher hudson.plugins.deploy.DeployPublisher aborted due to
exception org.codehaus.cargo.container.ContainerException: Failed to
redeploy
[C:\Users\Dieter\workspace_astra\astra-maven\target\astra-maven-0.0.1-SNAPSHOT.war]
at
org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:191)
at
hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:62)
at
hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:92)
at
hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:75)
at hudson.FilePath.act(FilePath.java:758) at
hudson.FilePath.act(FilePath.java:740) at
hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:75)
at
hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:45)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
at
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:630)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:608)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:584)
at hudson.model.Build$RunnerImpl.post2(Build.java:159) at
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:553)
at hudson.model.Run.run(Run.java:1391) at
hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at
hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:145) Caused by:
java.io.FileNotFoundException: http://localhost:8080/manager/list at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source) at
org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:507)
at
org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:644)
at
org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:657)
at
org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:172)
... 17 more java.io.FileNotFoundException:
http://localhost:8080/manager/list at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source) at
org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:507)
at
org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:644)
at
org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:657)
at
org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:172)
at
hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:62)
at
hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:92)
at
hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:75)
at hudson.FilePath.act(FilePath.java:758) at
hudson.FilePath.act(FilePath.java:740) at
hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:75)
at
hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:45)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
at
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:630)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:608)
at
hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:584)
at hudson.model.Build$RunnerImpl.post2(Build.java:159) at
hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:553)
at hudson.model.Run.run(Run.java:1391) at
hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at
hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:145)
Where do I change this cargo.tomcat.manager.url to cargo.remote.uri within my hudson environment, as this is what is doing the deployment?
I found the answer. There is a bug in the deploy plugin for tomcat 7, so Dominique Righetto kindly rewrote it for everyone an placed it online at Google Docs here https://docs.google.com/#folders/0B7SAopRfWOagNjk5MjBjYTMtODEyYy00ZGRiLTgxZWQtODk1ZDdmN2M4Nzc2.
They speak about it here on the Hudson Wiki
http://wiki.hudson-ci.org/display/HUDSON/Deploy+Plugin
Hope that helps
I had the same problem. I was confused with the problem. There was not manager app running in my tomcat. In your tomcat, inside the webapps folder you should have a folder called manager(this is the one to see manager app). If this is not available "http://localhost:8080/manager/list" this link does not work.
There are two ways to solve this.
1) install new tomcat and make sure this has manager folder.
2) copy the manager folder from some other place, if you have zipped version of tomcat.
once manager folder is copied, restart the server. Before doing restart, you may need to have manager-* roles enabled to the user that you are trying to access the manager app.

Resources