Today, the company switched all previous projects to Jenkins for release. It is easier to set up servers. However, slaves is still troublesome and has encountered a bunch of problems:
Question 1:
I used SSH to connect to slaves, so that the company's O & M added the public key to slaves. After JDK was installed, I found that the communication between the server and the client had always reported an error. I thought it was the JDK version, number of digits installation problems. Finally, the log is viewed:
[07/03/14 14:23:16] [SSH] Opening SSH connection to xx.xx.xx.xx:22.[07/03/14 14:23:17] [SSH] Authentication successful.SSH connection reports a garbage before a command execution.Check your .bashrc, .profile, and so on to make sure it is quiet.The received junk text is as follows:hudson.AbortExceptionat hudson.plugins.sshslaves.SSHLauncher.verifyNoHeaderJunk(SSHLauncher.java:802)at hudson.plugins.sshslaves.SSHLauncher.access$100(SSHLauncher.java:126)at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:650)at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:642)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:1110)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)at java.lang.Thread.run(Thread.java:722)[07/03/14 14:23:17] [SSH] Connection closed.
It turns out that the personalized signature I added to the. bashrc of the slave node. Jenkins cannot identify this signature and throws an exception, resulting in connect failure. After you comment out the signature, you can see that the slave node status is online.