Обновление Дженкинса из файла войны
У меня есть машина с Ubuntu 12.04 и установили Jenkins ver. 1.424.6 использование apt-get на основе данное руководство, но есть и новая версия:
New version of Jenkins (1.447.2) is available for download (changelog).
Если я нажимаю скачать, я получаю Дженкинс.War-файл... но как я могу использовать это для обновления моей текущей установки? или это невозможно до обновления репозиториев apt?
10 ответов:
вы можете перезаписать существующий
jenkins.warфайл с новым, а затем перезапустить Дженкинс.этот файл обычно находится в
/usr/share/jenkins.если это не относится к вашей системе, в
Manage Jenkins -> System Information, он будет отображать путь к
Если вы установили Jenkins через apt-get, вы также должны обновить Jenkins через apt-get, чтобы избежать будущих проблем. Обновление должно работать через "apt-get update", а затем"apt-get upgrade".
для получения дополнительной информации посетите следующий URL:
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
apt-get update apt-get upgradeна сегодняшний день самый простой способ обновления на linux, работает как шарм каждый раз.
#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
хотя я бы не рассматривал это как правильный ответ на вопрос OP, я бы все же подчеркнул, что лучший способ развернуть Jenkins (и, вероятно, большинство, если не все библиотеки/пакеты/программное обеспечение) на Ubuntu-это использовать систему управления aptitude (или apt-get).
это задокументировано здесь:https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on + Ubuntu (Обратите внимание, что если вы хотите использовать сборку LTS, нажмите на это РЕПО http://pkg.jenkins-ci.org/debian-stable/)
поэтому, если бы вы случайно действительно использовали этот подход, вы бы просто сделали
apt-get upgrade jenkins
мы запускаем Дженкинса из .файл войны со следующей командой.
java -Xmx2500M -jar jenkins.war --httpPort=3333 --prefix=/jenkinsвы даже можете запустить команду из каталога ~/Downloads
шахта установлена под /usr / share/jenkins Я думал, что он был установлен через apt-get, поэтому, возможно, захотите проверить и там.
Ubuntu 12.04.1
Я использую этот заводной скрипт для загрузки нового файла войны
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')и еще один скрипт выключения tomcat-копирует войну и перезапускает ее
мы размещаем его на windows 2008 и tomcat, я использую SC query, sc config, sc stop, sc start для управления службами 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
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.
Я не хотел устанавливать x11-common и другие компоненты, которые поставляются в комплекте с подходом apt-get install, поэтому я просто загрузил его .военный файл и запустил команду, о которой упоминал Франсуа. Это сработало хорошо, но вы должны написать свой собственный сценарий демона с таким подходом. Полная информация здесь:http://strem.in/stream/9488/Using-the-war-file-for-jenkins-ci
Comments