web-dev-qa-db-ja.com

Jenkinsをwarファイルから更新する

Ubuntu 12.04を搭載したマシンを使用しており、Jenkinsバージョンをインストールしました。 1.424.6このガイドに基づいてapt-getを使用しますが、新しいバージョンがあります:

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

ダウンロードを押すと、jenkins.warファイルが表示されますが、現在のインストールをアップグレードするためにどのように使用しますか?または、aptリポジトリが更新される前に不可能ですか?

80
u123

既存のjenkins.warファイルを新しいファイルで上書きしてから、Jenkinsを再起動できます。

このファイルは通常/usr/share/jenkinsにあります。

お使いのシステムに当てはまらない場合は、Manage Jenkins -> System Informationで、.warの下にあるexecutable-warファイルへのパスが表示されます。

147
bcmcfc

Apt-getを介してJenkinsをインストールした場合、将来の問題を回避するためにapt-getを介してJenkinsも更新する必要があります。更新は、「apt-get update」を使用してから「apt-get upgrade」を使用して機能します。

詳細については、次のURLをご覧ください。

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

30
dunni
#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
20
3z33etm
 apt-get update 
 apt-get upgrade 

linuxでアップグレードする最も簡単な方法は、常に魅力のように動作します。

9
Vasan Ramani

これをOPの質問に対する有効な答えとは見なしませんが、Jenkins(およびすべてではないにしてもほとんどのライブラリ/パッケージ/ソフトウェア)をUbuntuに展開する最良の方法はaptitude(またはapt- get)管理システム。

ここに文書化されています: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubunt (LTSビルドを使用したい場合は、これを押してください。リポジトリ http://pkg.jenkins-ci.org/debian-stable/

したがって、万が一実際にこのアプローチを使用した場合は、単にapt-get upgrade jenkinsを実行するだけです。

4
woozyking

このgroovyスクリプトを使用して、新しい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')

そして、別のスクリプトがTomcatをシャットダウンします-戦争をコピーして再起動します

Windows 2008およびTomcatでホストします。scクエリ、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\questions\1672338\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
2
Kalpesh Soni
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.
2
Ran Adler

次のコマンドで.warファイルからjenkinsを実行します。

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

〜/ Downloadsディレクトリからコマンドを実行することもできます

私のものは/ usr/share/jenkinsの下にインストールされます。apt-getを介してインストールされたと思ったので、同様に確認したいかもしれません。

Ubuntu 12.04.1

1
dan

X11-commonおよびapt-getインストールアプローチにバンドルされている他のコンポーネントをインストールしたくなかったため、.warファイルをダウンロードし、Francoisが言及したコマンドを実行しました。それはうまくいきましたが、そのアプローチで独自のデーモンスクリプトを作成する必要があります。詳細はこちら: http://strem.in/stream/9488/Using-the-war-file-for-jenkins-ci

1
John

Jenkins WARファイルをアップグレードするには、次の手順に従います。

  • コマンドを使用してJenkinsサーバーを停止します:systemctl stop jenkins
  • Jenkinsの戦争の場所に移動します:例:/usr/lib/jenkins
  • Jenkins.warからバックアップを作成します。mv jenkins.war jenkins.war_bkp
  • Wgetまたはcurlコマンドを使用してJenkinsをダウンロードします:wget http://updates.jenkinsci.org/download/war/(version)/jenkins.war
  • コマンドを使用したJenkinsサーバーの起動:systemctl start jenkins
  • コマンドsystemctl status jenkinを使用してJenkinsサーバーのステータスを確認します
0
Omar Khaled