একটি যুদ্ধ ফাইল থেকে জেনকিন্স আপডেট করুন


92

আমার কাছে উবুন্টু 12.04 সহ একটি মেশিন রয়েছে এবং জেনকিনস ভার্ ইনস্টল করেছি। এই গাইডের উপর ভিত্তি করে অ্যাপ্ট-গেট ব্যবহার করে 1.424.6 , তবে একটি নতুন সংস্করণ রয়েছে:

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

আমি ডাউনলোড টিপলে আমি একটি জেনকিনস.ওয়ার ফাইল পাই ... তবে আমার বর্তমান ইনস্টলেশনটি আপগ্রেড করার জন্য আমি কীভাবে এটি ব্যবহার করব? বা এপিটি সংগ্রহস্থলগুলি আপডেট হওয়ার আগে এটি কি সম্ভব নয়?

উত্তর:


162

আপনি jenkins.warনতুন ফাইলটির সাথে বিদ্যমান ফাইলটি ওভাররাইট করতে পারেন এবং তারপরে জেনকিন্স পুনরায় আরম্ভ করতে পারেন।

এই ফাইলটি সাধারণত অবস্থিত /usr/share/jenkins

যদি এটি আপনার সিস্টেমের ক্ষেত্রে না হয় তবে Manage Jenkins -> System Informationএটি .warনীচে ফাইলটির পথ প্রদর্শন করবে executable-war


16
আমার মেশিনে এটি / usr / share / jenkins / এ অবস্থিত। "পরিষেবা জেনকিন্স পুনঃসূচনা" দিয়ে অনুলিপি করা এবং পুনরায় চালু করার পরে এটি এখনও পুরানো সংস্করণটি দেখায় এবং একটি আপডেটের পরামর্শ দেয় - আমি কী ভুল করছি?
u123

4
আপগ্রেড করার পরে কনফিগারেশন ফাইলগুলির ধারাবাহিকতা সম্পর্কে কী? আপনার আবার পুরো জিনিসটি সেট আপ করা দরকার? তারা কি পিছিয়ে সামঞ্জস্য সমর্থন করে?
Denys এস

@ ডিএনএসএস এটি আপনার সমস্ত কনফিগারেশন রাখবে। আমি বিদ্যমান যুদ্ধের ফাইলটি সরিয়েছি এবং নতুনটিকে ডাউনলোড থেকে / ইউএসআর / শেয়ার / জেনকিনে সরিয়েছি এবং এটি পুরোপুরি কার্যকর হয়েছে। (প্রবণতা জেনকিন্সের জন্য কোনও আপডেট দেখায় না)
হুইটনি ইমুরা

+1 এটি আমাকে অনেকটা সাহায্য করেছিল, কারণ উবুন্টুতে বর্তমান সংস্করণটি 1.6 এবং যুদ্ধের সংস্করণটি 2.4। এটি চেহারা এবং অনুভূতি এবং প্লাগইন উপলব্ধতার মধ্যে একটি বিশাল পার্থক্য। সুতরাং এটি আমাকে অনেক সাহায্য করেছিল। চিন্তিত ছিলাম আমাকে টমক্যাটটি ইনস্টল করতে হবে এবং খুব শক্তভাবে এটি করতে হবে।
ক্যাপরনিওইগনিস

4
@bcmcfc এর ধাপে এর উত্তর পদক্ষেপ এখানে: stackoverflow.com/a/46733405/1404135
3z33etm

32

আপনি যদি জেনকিনসকে অ্যাপ্ট-গেটের মাধ্যমে ইনস্টল করেন তবে ভবিষ্যতের সমস্যা এড়াতে আপনার জেনকিনসকে অ্যাপ্ট-গেটের মাধ্যমে আপডেট করা উচিত। আপডেটটি "অ্যাপ-গেট আপডেট" এবং তারপরে "অ্যাপট-গিগ আপগ্রেড" এর মাধ্যমে কাজ করা উচিত।

বিস্তারিত জানার জন্য নিম্নলিখিত URL টি দেখুন:

https://wiki.jenkins-ci.org/display/JENKINS/ ইনস্টল করা + জেনকিনস +++ উবুন্টু


13
জেনকিন্স কনফিগারেশন সম্পর্কে উবুন্টু কী বদলেছে তা আপনি কখনই জানেন না b এতে যোগ করা হচ্ছে: pkg.jenkins-ci.org/debian প্রকল্প থেকে সরাসরি অ্যাপটি-গেটের মাধ্যমে ইনস্টলযোগ্য আপডেট হওয়া প্যাকেজ সরবরাহ করে।
মাবি

আপনি যদি উপরে বর্ণিত কাজটি করেন তবে যুদ্ধ ফাইল থেকে জেনকিনগুলি আপডেট করার দরকার নেই। আমি মনে করি এটি উবুন্টুতে ভাল উপায়।
রিপন আল ওয়াসিম

10
আপনি আগে যাদের সাথে Jenkins ইনস্টল করে থাকেন apt-get কিন্তু ডিফল্ট উবুন্টু প্যাকেজ সংগ্রহস্থলের (অর্থাত ছাড়া pkg.jenkins-ci.org/debian) মাধ্যমে, আপনি নতুন এক ইনস্টল করার পূর্বে ডিফল্ট উবুন্টু প্যাকেজ সরাতে চাওয়ার আছে sudo apt-get remove jenkins jenkins-commonতারপর sudo apt-get install jenkins। আপনি যে কি না থাকে তাহলে, আপডেট একটি ব্যর্থ হবেtrying to overwrite '/usr/share/jenkins/jenkins.war', which is also in package jenkins-common 1.424.6+dfsg-1ubuntu0.1
Matthieu Rouget

31
#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

4
দুর্দান্ত! : শেষ স্থিতিশীল লিংক দরকারী হয় updates.jenkins-ci.org/stable/latest/jenkins.war
ℛɑƒæĿᴿᴹᴿ

সেরা অনুশীলন, করা সহজ। এই উত্তরের জন্য ধন্যবাদ
জিন্না বালু

ভাই! মধ্যরাতে হার্ট অ্যাটাক থেকে আপনি আমাদের জেনকিন্সকে আমাদের আপগ্রেড করতে বাধ্য করেছিলেন এবং এর কোনও প্লাগইন চালাচ্ছেন না
এমজে

12
অ্যাপেট-গেট আপডেট
আপগ্রেড আপগ্রেড 

লিনাক্সে আপগ্রেড করার সবচেয়ে সহজতম উপায়, প্রতি মুহুর্তের মতো কাজ করে।


উপায় দ্বারা CentOS এ অনুরূপ, yum update jenkinsএটি করা উচিত।
নাগেভ

4

যদিও আমি এটিকে ওপি-র প্রশ্নের বৈধ উত্তর হিসাবে বিবেচনা করব না, তবুও আমি জোর দিয়েছি যে উবুন্টুতে জেনকিন্স (এবং সম্ভবত সমস্ত গ্রন্থাগার / প্যাকেজ / সফ্টওয়্যার না থাকলে) স্থাপন করার সর্বোত্তম উপায় হ'ল দক্ষতা অর্জনের (বা অ্যাপটি- get) ম্যানেজমেন্ট সিস্টেম

এটি এখানে নথিভুক্ত করা হয়েছে: https://wiki.jenkins-ci.org/display/JENKINS/Installing+ জেনকিনস + ও+ উবুন্টু (লক্ষ্য করুন যে আপনি যদি এলটিএস বিল্ডটি ব্যবহার করতে চান তবে এই রেপোতে চাপুন http: // pkg। jenkins-ci.org/debian-stable/ )

সুতরাং যদি কোনও সুযোগের দ্বারা আপনি আসলে এই পদ্ধতির ব্যবহার করেন তবে আপনি কেবল একটি করুন apt-get upgrade jenkins


তত্ত্বের ক্ষেত্রে আপনি ঠিক বলেছেন তবে স্টক ইনস্টল থেকে আপগ্রেড করার সময় এটি কার্যকর হয় না। সর্বশেষতম প্যাকেজটি ইনস্টল করার পরে এটি শুরু হচ্ছে তবে একটি 503 ত্রুটি দিচ্ছে। আমি সেখানে লেখা পদ্ধতিটি অনুসরণ করেছি এবং একটি সুসংগত পিকেজি অবস্থা পেতে আমাকে ম্যাথিউ রাউজের সমাধান প্রয়োগ করতে হয়েছিল।
গ্লেন প্লাজ

3

আপনি জেনকিনস প্যানেলটি খুললে এটি তাদের সর্বশেষ সংস্করণ থেকে উপলব্ধ প্যাকেজটি প্রদর্শন করবে। আপনি মাধ্যমে এটি ডাউনলোড করতে পারেন wget হয় সর্বশেষ প্যাকেজ আপনি ব্যাকআপ ফাইল .war নিতে হবে server.after ডাউনলোড কমান্ড।

যেমন-: উইজেট http://updates.jenkins-ci.org/download/war/2.205/jenkins.war

উবুন্টুর পক্ষে জেনকিন্স যুদ্ধ ফাইলের পথ - / ইউএসআর / শেয়ার / জেনকিনস /

জেনকিন্স যুদ্ধের ফাইল সেন্টো - / ইউএসআর / লিবিব / জেনকিন্স /

ব্যাকআপ নেওয়ার পরে যুদ্ধের ফাইলটি ওভাররাইট করে জেনকিন্স পরিষেবাটি পুনরায় চালু করুন।

উবুন্টু - সার্ভিস জেনকিনগুলি পুনরায় চালু হবে, সেন্টোস - সিস্টেমটেল পুনরায় চালু করুন জেনকিনস.সার্ভিস


2

আমরা নীচের কমান্ড সহ .war ফাইল থেকে জেনকিনগুলি চালাচ্ছি।

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

এমনকি আপনি ~ / ডাউনলোড ডিরেক্টরি থেকে কমান্ড চালাতে পারেন


2

আমি নতুন যুদ্ধ ফাইল ডাউনলোড করতে এই গ্রোভি স্ক্রিপ্টটি ব্যবহার করি

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')

এবং অন্য স্ক্রিপ্ট শাটডাউন টমক্যাট - যুদ্ধের অনুলিপি করে এটি পুনরায় আরম্ভ করে

আমরা এটি উইন্ডোজ ২০০৮ এবং টমক্যাটে হোস্ট করি, আমি উইন্ডোজ পরিষেবাগুলি পরিচালনা করতে এসসি কোয়েরি, এসসি কনফিগারেশন, এসসি স্টপ, এসসি স্টার্ট ব্যবহার করি

    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
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

খনিটি / ইউএসআর / শেয়ার / জেনকিন্সের অধীনে ইনস্টল করা হয়েছে আমি ভেবেছিলাম এটি এটিপ-গেটের মাধ্যমে ইনস্টল করা হয়েছে সুতরাং সেখানেও পরীক্ষা করতে পারে।

উবুন্টু 12.04.1


1

আমি এক্স 11-সাধারণ এবং অন্যান্য উপাদানগুলি ইনস্টল করতে চাইনি যা অ্যাপটি-ইনস্টল পদ্ধতিতে বান্ডিল হয়ে আসে, তাই আমি কেবল .war ফাইলটি ডাউনলোড করে ফ্রাঙ্কোইস উল্লিখিত কমান্ডটি চালিয়েছি। এটি দুর্দান্তভাবে কাজ করেছে, তবে আপনাকে সেই পদ্ধতির সাহায্যে আপনার নিজস্ব ডেমন স্ক্রিপ্ট লিখতে হবে। এখানে সম্পূর্ণ বিবরণ: http://strem.in/stream/9488/Using-the-war-file-for-jenkins-ci


1

জেনকিনস ওয়ার ফাইল আপগ্রেড করতে নীচের পদক্ষেপগুলি অনুসরণ করুন:

  • জেনকিন্স সার্ভারটি কমান্ডটি ব্যবহার করে থামান: systemctl stop jenkins
  • জেনকিন্স যুদ্ধের স্থানে যান: প্রাক্তন: /usr/lib/jenkins
  • জেনকিনস.ওয়ার থেকে ব্যাকআপ নিন: mv jenkins.war jenkins.war_bkp
  • উইজেট বা কার্ল কমান্ড ব্যবহার করে জেনকিন্স ডাউনলোড করুন: wget http://updates.jenkinsci.org/download/war/(version)/jenkins.war
  • কমান্ডটি ব্যবহার করে জেনকিন্স সার্ভার শুরু করা: systemctl start jenkins
  • কমান্ডটি ব্যবহার করে জেনকিন্স সার্ভারের স্থিতি পরীক্ষা করুন: systemctl status jenkin
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.