Mettre à jour Jenkins à partir d'un dossier de guerre

j'ai une machine avec Ubuntu 12.04 et J'ai installé Jenkins ver. 1.424.6 utilisation d'apt-get basé sur ce guide , mais il existe une nouvelle version:

New version of Jenkins (1.447.2) is available for download (changelog).

si j'appuie sur download, j'ai un jenkins.la guerre de fichier... mais comment puis-je l'utiliser pour améliorer mon installation actuelle? ou est-ce impossible avant que les dépôts apt ne soient mis à jour?

70
demandé sur Jad 2012-06-16 13:39:54

10 réponses

vous pouvez écraser le fichier existant jenkins.war avec le nouveau et ensuite redémarrer Jenkins.

ce fichier est habituellement situé dans /usr/share/jenkins .

si ce n'est pas le cas pour votre système, dans Manage Jenkins -> System Information , il affichera le chemin vers le fichier .war sous executable-war .

122
répondu bcmcfc 2013-10-11 09:42:10

si vous avez installé Jenkins via apt-get, Vous devez également mettre à jour Jenkins via apt-get pour éviter tout problème futur. La mise à jour doit se faire via "apt-get update" puis "apt-get upgrade".

pour plus de détails visitez L'URL suivante:

https://wiki.jenkins-ci.org/display/JENKINS/Installing + Jenkins+on+Ubuntu

25
répondu dunni 2013-02-19 05:18:59
apt-get update
apt-get upgrade 

de loin la façon la plus facile de mettre à jour sur linux, fonctionne comme un charme à chaque fois.

5
répondu Vasan Ramani 2017-09-11 20:11:00
#on ubuntu, in /usr/share/jenkins:

sudo service jenkins stop
sudo mv jenkins.war jenkins.war.old
sudo wget https://updates.jenkins-ci.org/latest/jenkins.war
sudo service jenkins start
5
répondu 3z33etm 2017-10-13 15:35:42

bien que je ne considérerais pas cela comme une réponse valable à la question de OP, je tiens à souligner que la meilleure façon de déployer Jenkins (et probablement la plupart sinon la totalité des bibliothèques/paquets/logiciels) sur Ubuntu est de tirer parti du système de gestion aptitude (ou apt-get).

il est documenté ici: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu " http://pkg.jenkins-ci.org/debian-stable / )

donc si par hasard vous avez réellement utilisé cette approche, vous feriez simplement un apt-get upgrade jenkins

4
répondu woozyking 2013-01-15 17:48:18

on recherche jenkins au .dossier de guerre avec le commandement suivant.

java -Xmx2500M -jar jenkins.war --httpPort=3333 --prefix=/jenkins

vous pouvez même exécuter la commande à partir du répertoire ~/Downloads

2
répondu Francois Lacoursiere 2012-09-05 14:44:16

le Mien est installé sous /usr/share/jenkins J'ai pensé qu'il était installé via apt-get, donc pourriez vouloir vérifier.

Ubuntu 12.04.1

1
répondu dan 2012-12-13 15:47:58

j'utilise ce script groovy pour télécharger un nouveau fichier war ""

import java.util.concurrent.atomic.AtomicInteger

class ThreadHelper{
    static done = false;
    static starttime = System.currentTimeMillis()
    static synchronized printx (message) {    printf ("%5s seconds: %20s",(System.currentTimeMillis()-starttime)/1000.0 , message); println("") }
    def download(address)
    {
    def filename = new File(System.getenv()['CI_HOME'] + '/' + address.tokenize("/")[-1])
    println(filename.getCanonicalPath())
    def file = new FileOutputStream(filename)
    def out = new BufferedOutputStream(file)
    out << new URL(address).openStream()
    out.close()
    done=true;
    }

}

println("executing from ... "+ new File(".").getCanonicalPath())

def counter = new AtomicInteger();
    th = Thread.start {
    while(!ThreadHelper.done) {
    sleep 1000
    counter.incrementAndGet()
    print '.'
    }
}

th2 = Thread.start { new ThreadHelper().download("http://mirrors.jenkins-ci.org/war/latest/jenkins.war") }
th.join()
th2.join()

ThreadHelper.printx('done')

et un autre script shutdown tomcat-copie la guerre et la redémarre

nous l'hébergeons sur windows 2008 et tomcat, j'utilise SC query, sc config, sc stop, sc start pour gérer les services windows""

    set warname=jenkins

if '%name%' == 'trak' set warname=trak

pushd .
if '%name%'=='' goto badname
if '%warname%'=='' goto badname

if '%ci_home%'=='' goto badcihome

REM =====================================================
REM stop windows service
sc stop %name%

REM sleep for 5 seconds see http:\stackoverflow.com\questions72338\how-to-sleep-for-5-seconds-in-windowss-command-prompt-or-dos
ping 1.1.1.1 -n 1 -w 3000 > nul

rem replace forward slash with backward slash
set tomcat_dir=%ci_home:/=\%\instances\tomcat7-%name%

REM Create sub directory called bak-yymmdd-hhmmss
REM where yymmdd-hhmmss is a date-time stamp like 120601-142907

set hh=%time:~0,2%

REM Since there is no leading zero for times before 10 am, have to put in
REM a zero when this is run before 10 am.

if "%time:~0,1%"==" " set hh=0%hh:~1,1%

set yymmdd_hhmmss=%date:~12,2%%date:~4,2%%date:~7,2%-%hh%%time:~3,2%%time:~6,2%

set backupdir=bak-%yymmdd_hhmmss%

REM =====================================================
md %tomcat_dir%\logs\%backupdir%

cd %tomcat_dir%\logs

dir bak*
echo "nothing-to-log" >> force.log

REM move command will fail if there is nothing to move hence the force log statement above

call move *.* %backupdir%

REM =====================================================
rmdir %tomcat_dir%\webapps\%name% /q/s

echo f|xcopy %ci_home%\%warname%.war %tomcat_dir%\webapps\%name%.war /y

REM TODO===== something about jenkins plugins

REM =====================================================
cd "%tomcat_dir%\bin"
call catalina version

echo =====================================================
echo ====== removing %name%
call service remove %name%

echo =====================================================
echo ====== installing %name%
call service install %name%

echo on

REM setting service to start automatically, note that space before the word auto IS REQUIRED
sc config %name% start= auto

REM =====================================================
sc start %name%

popd

exit 0

goto done

:badname
echo 'name required - this will be used as windows service name as well'
pause
exit 1

:badcihome
echo 'CI home env var required - ci_home'
pause
exit 1

:done
1
répondu Kalpesh Soni 2013-01-28 20:08:20
https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+on+Ubuntu

Once installed like this, you can update to the later version of Jenkins (when it comes out) by running the following commands:
-------
sudo apt-get update
sudo apt-get install jenkins
-------
(aptitude or apt-get doesn't make any difference.)
What does this package do?
Jenkins will be launched as a daemon up on start. See /etc/init.d/jenkins for more details.
The 'jenkins' user is created to run this service.
Log file will be placed in /var/log/jenkins/jenkins.log. Check this file if you are troubleshooting Jenkins.
/etc/default/jenkins will capture configuration parameters for the launch like e.g JENKINS_HOME
By default, Jenkins listen on port 8080. Access this port with your browser to start configuration.
1
répondu Ran Adler 2017-09-10 10:02:43

Je ne voulais pas installer le X11-common et d'autres composants qui sont inclus dans l'approche apt-get install, donc je viens de télécharger le .dossier de guerre et dirigé le commandement mentionné par François. Ça a bien marché, mais tu dois écrire ton propre script de Démon avec cette approche. Tous les détails ici: http://strem.in/stream/9488/Using-the-war-file-for-jenkins-ci

0
répondu John 2013-04-05 16:53:20