Hello,
we're currently trying to update our installed Jenkins installation (from 1.505
to a recent one), but I'm not even getting the updated system to start up with
all jobs.
Depending on the jenkins version used, I'm seeing lots of different confusing
problems. (Exceptions listed in the log; it doesn't start at all; "looses" lot
of the views; it starts with a strange duplicated "All" tab; ...)
So all help is appreciated.
First question - before I go in all the gory details:
Is there a sort of recommended procedure for updating Jenkins ?
All pointers to documentation are welcome !
Current status: (With this system, we have no problems. E.g. I can shut down
jenkins and then restart it.)
* Jenkins 1.505
The master has 30 build slots, used for test.
The master (as well as the slaves) are exclusively used for Jenkins.
* Running on Redhat 5 ("Red Hat Enterprise Linux Server release 5.5
(Tikanga)")
The (two) slaves are one Redhat 5 and one Redhat 6.
The slaves are used for the build; each has four build slots.
* Java and Jenkins installed on a local FS
* Java jdk1.6.0_33
Installed in a neighbor subdir to Jenkins. Used by being prepended to the PATH
in the start script.
* The plugins installed (besides the ones coming with Jenkins.war) are as
up to date as possible.
See list below
(For some plugins no update is offered for this Jenkins version any more)
* Jenkins is started by an explicit call to a script
(Not started as service at system start time; no container)
java -Xms24G -Xmx36G -XX:PermSize=1G -XX:MaxPermSize=1G
-Duser.home=/var/..../jenkins -Dhudson.Functions.autoRefreshSeconds=30 -jar
/var/.../jenkins.war --httpPort=9999 --argumentsRealm.roles.jenkins=admin
* Some 330 jobs
I can't shut down the running ci for a longer period. I'm afraid of just
updating the active system and cross my fingers. And most important: I need to
set the stuff up on a new machine anyway. So I'm trying to set up a "(mostly)
clone system" on a second machine.
Planned changes to the current status:
* A more or less up to date Jenkins.
Is there (besides LTS) a sort of "recommended" version ?
[I know about this community rating]
So far I tried
o 1.544
o 1.559
o LTS1.554.1
* Running on Red Hat Enterprise Linux Server release 6.3 (Santiago)
This is one of the main reasons for the update.
* Three slaves (The "old" ones + the "old" Jenkins server, will probably
get updated to RH 6)
Note: Because I only have one machine, which I can temporarily "spare" for the
test, I'm trying to set up the new Jenkins with no slave attached for the
moment. That might be part of the problem.
Because I need the "old" system running, until the "new" system is proofable
working, I can't take these resources at once.
* Java and Jenkins installed on a local FS (separate from the one on the
"old" machine)
* Java jdk1.7.0_45
The old java caused problems with the new Jenkins.
Are there recommended versions for different versions of Jenkins ?
I'm only aware of the major updates like jenkins requiring Java 1.X
* Up to date plugins
* Same startup script with different parameters (e.g. for new machine and
new Java)
* Same jobs
I need also to get the history over, like artifacts, promotions done, ...
But for a start I would be happy, just to get all the jobs running
Basic procedure used:
* "rsync" jenkins/home from the old to the new machine
o Stuff like the workspace are excluded
-exclude=workspace/ --exclude=monitoring/ --exclude=htmlreports/
o I first do the rsync with the old jenkins running (So I don't have
quite a big downtime for the active system)
o Then I shut down the active Jenkins and do a second rsync, to rsync to
a consistent state
This then is used for to try to start the new system.
* Overwrite some configuration files, which need an update (for the new
machine) by updated files
(Because they contain the name of the machine used as jenkins master)
Especially home/...
o config.xml
o hudson.plugins.emailext.ExtendedEmailPublisher.xml
o hudson.tasks.Mailer.xml
o jenkins.model.JenkinsLocationConfiguration.xml
* Try to start the new Jenkins
The start-script removes "$JENKINS_HOME/plugins/*/META-INF" before
starting jenkins
o First try without any job - this was no problem
o Then with the jobs - so far this basically always failed with different
symptoms.
Details
There are several aspects, which aren't clear to me:
* Can I update Jenkins over this long a distance ?
1. Do I need several update steps in between ?
2. Would it help, to first update to the "next" LTS (compared to 1.505)
and then to an up to date LTS ?
* What about the plugins:
1. Should I update these on the new system to the most current ones,
before I try to start Jenkins with the jobs ?
2. Or should I first start with the "current" plugins and update these to
the up to date version only after the jobs are running fine ?
* What parts of the job configuration to use to try to narrow down the
problems I'm seeing.
I see several different "dimensions" in which I could cut down to
avoid/isolate problems:
1. By default I already delete
* all data below 'plugins'
find ../jenkins/home/jobs -name 'promotions' -type d
-depth-first -exec ^C -r {} \;
2. Remove the history, like artifacts and workspace
3. Only use a part of the jobs to start
4. What else can/should be removed
* Because it gets recreated anyway
* As a try, because it might cause problems.
* I tried two tactics on how to add the actual jobs
1. Copy the jobs (and data, see above) below $JENKINS_HOME/jobs, then
start jenkins
2. Move away $JENKINS_HOME/jobs to e.g. $JENKINS_HOME/jobsAWAY
* Start jenkins
* After the "empty" Jenkins came up, rename the directory
* Make Jenkins "see" the jobs by using "Reload Configuration from
Disk<http://ullteb105.emea.nsn-net.net:9999/reload>"
That way e.g. I could start 1.556 but it got me e.g. two "All" tabs and lots of
my jobs missing.
* Where can I get information about problems during start ?
I'm redirecting stdout & stderr to a log file.
1. (How) can I change the log level in this file ?
2. Is there anything in addition, which gives me information before
Jenkins is up and running ?
* Is there any sort of temporary data, I should remove before starting
the new Jenkins ?
Regards
Martin
P.S.:
Here is the list of plugins used: (Versions from the "old" system)
mailer Jenkins Mailer Plugin
1.8
external-monitor-job External Monitor Job Type Plugin
1.2
ldap LDAP Plugin
1.1 (1.9)
pam-auth pam-auth
1.0 (1.1)
subversion Jenkins Subversion Plug-in
1.54 (2.4)
ant ant
1.1 (1.2)
javadoc javadoc
1.0 (1.1)
customSCM Hudson plugin for customized SCM functionality for LTE
0.7.6
maven-plugin Maven Integration plugin
1.505 (2.3)
cvs Jenkins CVS Plug-in
1.6 (2.11)
description-setter Jenkins description setter plugin
1.9-SNAPSHOT (private-02/02/2012 18:07-dems00e7)
security-no-captcha Security Realm with no CAPTCHA
1.0
email-ext Jenkins Email Extension Plugin
2.19-SNAPSHOT (private-02/02/2012 16:55-dems00e7) (2.37.2.2)
promoted-builds Jenkins promoted builds plugin
2.1-FULLFINGERPRINTDISCOVERY1 (2.17)
dashboard-view Dashboard View
2.5 (2.9.2)
analysis-core Static Analysis Utilities
1.56
warnings Warnings Plug-in
4.40
sidebar-link Sidebar Link
1.6
throttle-concurrents Jenkins Throttle Concurrent Builds Plug-in
1.8.2
credentials Credentials Plugin
1.4 (1.10)
pmd PMD Plug-in
3.33 (3.38)
cobertura Jenkins Cobertura Plugin
1.9 (1.9.5)
copyartifact Copy Artifact Plugin
1.28 (1.30)
PrioritySorter Priority Sorter
1.3 (2.6)
buildtriggerbadge Build Trigger Badge Plugin
1.0 (1.2)
jobConfigHistory Jenkins Job Configuration History Plugin
2.4 (2.6)
translation Jenkins Translation Assistance plugin
1.10 (1.11)
cppcheck Jenkins Cppcheck Plug-in
1.15 (1.16)
startup-trigger-plugin Startup Trigger
2.4
extended-read-permission Hudson Extended Read Permission Plugin
1.0
groovy Hudson Groovy builder
1.13 (1.18)
ws-cleanup Jenkins Workspace Cleanup Plugin
0.20
batch-task Jenkins batch task plugin
1.17
klocwork Jenkins Klocwork Plug-in
1.15
nested-view Nested View Plugin
1.10 (1.14)
envinject Environment Injector Plugin
1.89
htmlpublisher HTML Publisher plugin
1.3
extra-columns Extra Columns Plugin
1.14
sectioned-view Sectioned View Plugin
1.18
valgrind Jenkins Valgrind Plug-in
0.19 (0.20)
parameterized-trigger Jenkins Parameterized Trigger plugin
2.24
log-parser Log Parser Plugin
1.0.8
postbuild-task Hudson Post build task
1.8
sloccount Jenkins SLOCCount Plug-in
1.8 (1.19)
dry Duplicate Code Scanner Plug-in
2.30 (2.40)
analysis-collector Static Analysis Collector Plug-in
1.35 (1.41)
tracking-svn Tracking SVN Plugin
1.1
build-timeout Jenkins build timeout plugin
1.12.2 (1.13)
leastload Least Load plugin
1.0.3
xunit xUnit plugin
1.56 (1.88)
monitoring Monitoring
1.50.0
ssh-slaves Jenkins SSH Slaves plugin
0.22 (1.6)
claim Jenkins Claim Plugin
2.3
ssh-credentials SSH Credentials Plugin
0.3 (1.6.1)
greenballs Green Balls
1.14
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.