ubuntu - stable - Actualiza Jenkins desde un archivo war
update jenkins ubuntu (10)
Aunque no consideraría esto como una respuesta válida a la pregunta de OP, aún así enfatizaría que la mejor manera de implementar Jenkins (y probablemente la mayoría si no todas las bibliotecas / paquetes / software) en Ubuntu es aprovechar aptitude (o apt- obtener) sistema de gestión.
Está documentado aquí: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu (observe que si desea usar la compilación LTS, pulse en este archivo http://pkg.jenkins-ci.org/debian-stable/ )
Entonces, si por casualidad usas este enfoque, simplemente harías una apt-get upgrade jenkins
Tengo una máquina con Ubuntu 12.04 y he instalado Jenkins ver. 1.424.6 usando apt-get basado en esta guía , pero hay una nueva versión:
New version of Jenkins (1.447.2) is available for download (changelog).
Si presiono descargar, obtengo un archivo jenkins.war ... ¿pero cómo lo uso para actualizar mi instalación actual? o eso no es posible antes de que los repositorios apt se actualicen?
Ejecutamos jenkins desde el archivo .war con el siguiente comando.
java -Xmx2500M -jar jenkins.war --httpPort=3333 --prefix=/jenkins
Incluso puede ejecutar el comando desde el directorio ~ / Downloads
El mío está instalado en / usr / share / jenkins. Pensé que se había instalado a través de apt-get, por lo que es posible que desee comprobarlo también.
Ubuntu 12.04.1
No quería instalar el x11-common y otros componentes que vienen incluidos en el enfoque apt-get install, así que acabo de descargar el archivo .war y ejecuté el comando mencionado por Francois. Eso funcionó bien, pero tienes que escribir tu propio script daemon con ese enfoque. Todos los detalles aquí: http://strem.in/stream/9488/Using-the-war-file-for-jenkins-ci
Puede sobreescribir el archivo jenkins.war
existente con el nuevo y luego reiniciar Jenkins.
Este archivo generalmente se encuentra en /usr/share/jenkins
.
Si este no es el caso para su sistema, en Manage Jenkins -> System Information
, se mostrará la ruta al archivo .war
en executable-war
.
Si ha instalado Jenkins a través de apt-get, también debe actualizar Jenkins a través de apt-get para evitar problemas futuros. La actualización debería funcionar a través de "apt-get update" y luego "apt-get upgrade".
Para más detalles visite la siguiente URL:
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
Utilizo este guión maravilloso para descargar un nuevo archivo de guerra
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'')
Y otro script cierra el tomcat: copia la guerra y la reinicia
Lo hospedamos en Windows 2008 y tomcat, uso sc query, sc config, sc stop, sc start para administrar servicios de 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://.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
apt-get update apt-get upgrade
de lejos, la forma más fácil de actualizar en Linux, funciona como un encanto cada vez.
#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
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.