To upgrade from earlier versions of Jenkins, simply redeploy the WAR file. Read this document for more about container-specific instructions on how to do this. See this document for automation.
Using Jenkins
- Installing Jenkins
- Starting and Accessing Jenkins
- Administering Jenkins
- Logging and Access Logging
- Building a software project
- Building a maven2 project
- Building a matrix project
- Building an Android app and test project
- Monitoring external jobs
- Distributed builds
- Features controlled by system properties ("hidden" & experimental features)
- File fingerprint tracking
- Using Jenkins plugins
- Quicker navigation around Jenkins pages
- User Content
- Jenkins Script Console
- Command-line interface
- SSH access
- Securing Jenkins
- Remote access API
- Change time zone
- Splitting a big job into smaller jobs
- Using Jenkins for non-Java projects
- Using other shells (for ex. Python)
- Post-initialization script
- Boot failure hook
- Collecting more logs on what Jenkins is doing
- Terminology
- Jenkins/Hudson con Ant, JUnit, Emma y Sonar. (Spanish)
- The 'People' listing
- Removing and disabling plugins
- Running Jenkins behind an HTTP(S) Proxy
- Creating a CD pipeline
Tool Integration
- Gitolite Let Jenkins clone from gitolite repository
- hudsonTracker Java based app to monitor Jenkins from your system tray (Window, Linux and MacOSX)
- NetBeans plugin
- Eclipse plugin
- Mylyn connector
- IntelliJ plugin
- Hudson Portlet for monitoring Hudson in your portal.
- Firefox Add-on Build Monitor displays Hudson builds on Firefox status bar panel.
- Google Chrome extension to monitor status from Google Chrome.
- Ant Job Clone script Demonstrates how one might use an ant target to automatically create CI Builds on a remote hudson server based on a local subversion working copy.
- Bash Job Clone script Similar to the Ant Job Clone script, but based in bash shell using curl to talk to the server.
- HudsonMobi for iPhone, iPod and iPad Centrally connect and securely manage multiple Hudson CI instances over the Internet from your iPhone, iPod or iPad
- Hudson2Go for Android Monitor Hudson from your Android phone.
- Hudson Helper iPhone and iPod Touch App Monitor Hudson from your iPhone or iPod Touch
- Hudson Helper Android App Monitor Hudson from your Android phone
- CI Monitor Jenkins from your Windows Phone
- Hudson tray tracker monitor Hudson from your Windows task tray icon.
- Hudson on Cocoa monitor Hudson from your Mac OS X status bar
- Gnome Panel Status Widget monitor Build status in your gnome panel
- Conky Hudson Status show your Hudson status on Conky
- Monitoring Jenkins jobs from tools that support Cruise Control.
- Emacs jenkins-watch for monitoring Jenkins on your emacs status bar.
- Jenkins Indicator Gnome 3 Extension to monitor status in Gnome 3 status bar
- Clone from Github with Jenkins running behind an HTTP(S) proxy
Programming Language specific topics
Running Jenkins as a daemon
- Installing Hudson as Solaris 10 service
- Installing Jenkins as a Windows service
- Installing Jenkins on Ubuntu/Debian
- Installing Jenkins on RedHat/CentOS/Fedora
- Installing Jenkins on OpenSolaris
- Installing Jenkins on Gentoo
- Installing Jenkins inside a FreeNAS jail
- FreeBSD
- FreeBSD 4
- SUSE Packages
- Installing Jenkins as a Unix daemon if your flavor of Unix isn't any of the ones above.
Extreme Feedback
- Hudson Build Status Lava Lamps
- DIYOrb
- Hudson Ambient Orb
- "Red Bear Alert!" - The Hudson Bear Lamps
- "Watch the bikes!" - Extreme Feedback with Traffic Lights
- Start to smell those code smells
- Continuous Integration Monitor Library
- Add a Google-O-Meter to a view
- Retaliation- target the build-breaking perpetrator with a barrage of foam missiles! (story/video)
- Rss-Retaliation: Similar to Retaliation, but uses the RSS-Feed of Jenkins and not the Notifier Plugin and is written in Groovy. Supports the Foam-Missile Launcher from Dream Cheeky, Text-To-Speech and the Cleware USB Traffic Light.
- Traffic Lights on USB: build your own XFD for less than 10 Euros.
- USB Traffic Lights (works under Windows/Linux/Mac)
- Using a Raspberry PI to control an extreme feedback device - full blog article
Issues
- My software builds on my computer but not on Jenkins
- Spawning processes from build
- Stopping build does not stop spawned processes - ProcessTreeKiller
- A thread hangs in forkAndExec on Solaris
- Slave JVM freezes on Windows when started from SSH
- Maven2 project and JDK5
- Jenkins is hanging
- I'm getting OutOfMemoryError
- I'm getting too many open files error
- I'm aborting a build but it's not happening. What's going on?
- IOException: Not enough space
- Running Jenkins behind Apache
- Running Jenkins behind Squid
- Running Jenkins on Port 80 or 443 using iptables
- Trouble-shooting build hangs
- Hudson windows service fails to start
- Windows agents fail to start via DCOM
- Windows slaves fail to start via ssh
- Windows slaves fail to start via JNLP
- JNA is already loaded
- Show the names of jobs which do not load properly
Need help?
License
Most of the art work is derived from Tango Project, and thus this portion of Jenkins is covered by their license (Creative Commons Attribution Share-Alike license). The rest (that is, all the code, documents, build scripts, etc.) is covered by the MIT license, unless otherwise stated in individual files.
Jenkins Goods
CafePress Jenkins store. If you'd like to make the same stickers that we make, please see here
Get Jenkins T-shirts, mug caps, etc., from
11 Comments
Anonymous
There is an issue I think worth adding to the list above.
That is when a job starts a daemon and execution is manually terminated or due to an error the daemon is left running. A general solution to the problem will be very valuable!
Unknown User (kohsuke)
Please feel free to go ahead and create a page. I'm not aware of any solution, so I'm curious what solution you have.
Unknown User (joebuddha)
How can I report NUnit test results back to Hudson? I have to run the tests externally...
Unknown User (jedwards)
There's a plugin (https://wiki.jenkins-ci.org/display/JENKINS/NUnit+Plugin) that gives you a post build option. I don't know if that helps?
Unknown User (geekan)
I have two questions.I don't know where is the appropriate place to ask such things.so i post here
I'm using jenkins 1.417
Q1:When i configurate a job's build step i can use the Jenkins-defined environment variables in the 'Invoke Ant' . e.g. I put job.name=$﹛JOB_NAME﹜ in the Properties.but it seems like it dosn't work when i use 'Execute windows batch command'. e.g. C:\some.bat -Djob.name=$﹛JOB_NAME﹜
Is there any way to do so?
Q2:i can have multi-Ant in the jenkins system config like jdk. but why i can't choose which one to use in the job config just like jdk?
Unknown User (mcote)
I am not sure where to ask this question. I am trying to execute a tcl script in a jenkins job inside the shell build step dialogue. We are having trouble that we don't have when we run the same command in an interactive shell.
Is there anything special about tcl and jenkins?
Unknown User (vbajjuri)
I'm not sure where to post this question. I have successfully installed latest Jenkins on IBM WAS 7.0.0.15(which is on windows machine). Now,
1) How do I configure the Jenkins to connect to CVS which is on a remote unix machine?
2) Also, is it possible to launch a shell script, which in turn calls an 'ant' command, that is on a remote unix server?
Any help would be appreciated.
Thank You,
Unknown User (owens)
Configure -> Restrict where this project can be run -> Label Expression
"The Label Expression" is no longer a drop-down list which annoys me to type keyword for searching labels.
Is there any way to allow "The Label Expression" to be a drop-down list?
Thanks.
N y
I want to ask a question , can I add the publish plugin ( like JaCoCo )only one time ? if not ,how to change the plugin ? thank you very much !
Unknown User (avinash1617)
hi team
while creating jenkin job using cvs repository.. am getting jekinks killed error while saving the job after giving the cvs details.
INFO: Installation successful: CVS
Jan 13, 2019 5:05:40 AM org.eclipse.jetty.server.handler.ContextHandler$Context log
WARNING: Error while serving http://192.168.33.10:8080/job/cvs/configSubmit
java.lang.reflect.InvocationTargetException
at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:400)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:77)
at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:537)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:282)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:668)
at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:99)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at hudson.scm.CvsRepository.<init>(CvsRepository.java:87)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:529)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:784)
at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:678)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:717)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:778)
at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:678)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:474)
at hudson.scm.CVSSCM$DescriptorImpl.newInstance(CVSSCM.java:465)
at hudson.scm.CVSSCM$DescriptorImpl.newInstance(CVSSCM.java:407)
at hudson.DescriptorExtensionList.newInstanceFromRadioList(DescriptorExtensionList.java:142)
at hudson.scm.SCMS.parseSCM(SCMS.java:59)
at hudson.model.AbstractProject.submit(AbstractProject.java:1802)
at hudson.model.Project.submit(Project.java:225)
at hudson.model.Job.doConfigSubmit(Job.java:1350)
at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:772)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
... 64 more
Killed
Unknown User (tlacy)
I wonder if someone could add the "Jenkins says my reverse proxy is broken" link to this page? Probably under "Issues".