전쟁 파일에서 Jenkins 업데이트
Ubuntu 12.04가 설치된 컴퓨터가 있고 Jenkins 버전을 설치했습니다. 1.424.6 이 가이드를 기반으로 apt-get을 사용 하지만 새 버전이 있습니다.
New version of Jenkins (1.447.2) is available for download (changelog).
다운로드를 누르면 jenkins.war 파일이 생성되지만 현재 설치를 업그레이드하는 데 어떻게 사용합니까? 또는 적절한 저장소가 업데이트되기 전에는 불가능합니까?
기존 jenkins.war
파일을 새 파일로 덮어 쓴 다음 Jenkins를 다시 시작할 수 있습니다.
이 파일은 일반적으로 /usr/share/jenkins
.
시스템에 해당하지 않는 경우에서 아래 Manage Jenkins -> System Information
에 .war
파일 경로가 표시 됩니다 executable-war
.
apt-get을 통해 Jenkins를 설치 한 경우 향후 문제를 방지하려면 apt-get을 통해 Jenkins도 업데이트해야합니다. 업데이트는 "apt-get update"와 "apt-get upgrade"를 통해 작동합니다.
자세한 내용은 다음 URL을 방문하십시오.
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
#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
apt-get 업데이트 apt-get 업그레이드
리눅스에서 업그레이드하는 가장 쉬운 방법은 매번 매력적으로 작동합니다.
이것이 OP의 질문에 대한 유효한 대답으로 간주되지는 않지만 Ubuntu에서 Jenkins (그리고 모든 라이브러리 / 패키지 / 소프트웨어는 아니지만 대부분)를 배포하는 가장 좋은 방법은 적성 (또는 적절한- get) 관리 시스템.
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu에 문서화되어 있습니다 (LTS 빌드를 사용하려면이 repo http : // pkg를 누르십시오 . jenkins-ci.org/debian-stable/ )
혹시라도 실제로이 접근 방식을 사용했다면 apt-get upgrade jenkins
다음 명령을 사용하여 .war 파일에서 jenkins를 실행합니다.
java -Xmx2500M -jar jenkins.war --httpPort=3333 --prefix=/jenkins
~ / Downloads 디렉토리에서 명령을 실행할 수도 있습니다.
이 멋진 스크립트를 사용하여 새 전쟁 파일을 다운로드합니다.
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\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
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.
내 것은 / usr / share / jenkins 아래에 설치되어 있습니다. apt-get을 통해 설치되었다고 생각했기 때문에 거기에서도 확인하고 싶을 것입니다.
Ubuntu 12.04.1
I didn't want to install the x11-common and other components that come bundled in the apt-get install approach, so I just downloaded the .war file and ran the command Francois mentioned. That worked nicely, but you have to write your own daemon script with that approach. Full details here: http://strem.in/stream/9488/Using-the-war-file-for-jenkins-ci
To Upgrade Jenkins WAR file, follow the steps below:
- Stop Jenkins server using command:
systemctl stop jenkins
- Go to Jenkins war location: ex:
/usr/lib/jenkins
- Take a backup from jenkins.war:
mv jenkins.war jenkins.war_bkp
- Download Jenkins using wget or curl command:
wget http://updates.jenkinsci.org/download/war/(version)/jenkins.war
- Starting Jenkins server using command:
systemctl start jenkins
- Check Jenkins server status using command:
systemctl status jenkin
참고URL : https://stackoverflow.com/questions/11062335/update-jenkins-from-a-war-file
'program story' 카테고리의 다른 글
Jenkins CI 파이프 라인 스크립트는 groovy.lang.GroovyObject 메소드를 사용할 수 없습니다. (0) | 2020.10.04 |
---|---|
Android와 Facebook 공유 의도 (0) | 2020.10.04 |
Android에서 로딩 대화 상자를 만드는 방법은 무엇입니까? (0) | 2020.10.04 |
VSCode 기본 터미널 변경 (0) | 2020.10.04 |
Laravel Eloquent groupBy () AND 또한 각 그룹의 개수를 반환합니다. (0) | 2020.10.04 |