Jenkins'te bir işi nasıl klonlayabilirim?


231

JenkinsGerriteklentisi vardır, böylece check-in yaptığımızda Gerrit, Jenkinsbir yapı gerçekleştirir ve başarılı olursa, içindeki değişiklik Gerritdoğrulanır. Yapı başarısız olursa, o zaman değil. Anladığım kadarıyla bu, kurulan işlerle gerçekleştiriliyor Jenkins. Şimdi yeni bir şube ( git) oluşturduk ve sanırım bu iş akışının gerçekleşmesi ve yapıların her taahhütte gerçekleştirilmesi için diğer şubeye işaret eden mevcut işleri klonlamam gerekiyor. Birisi bu işleri nasıl klonlayacağımı açıklayabilir mi? Kullanıcı arayüzünden bunu yapmanın bir yolunu görmüyorum, hatta işleri kullanıcı arayüzünden listelemenin bir yolunu bile göremiyorum.


7
Yeni İş sayfasındaki seçeneklerden biri olarak "Mevcut İşi Kopyala" özelliğini kullanabilmeniz gerekir. Bkz. Stackoverflow.com/questions/3133537/…
nofinator

Yanıtlar:


180

Mevcut bir işi kopyalamak için http://your-jenkins/newJob, "Mevcut işi kopyala" seçeneğine gidin ve kullanın. Mevcut işin adını girin - Jenkins var olup olmadığını doğrular.

Jenkins'in ön sayfasındaki varsayılan sekme varolan tüm işleri listelemelidir, ancak öncekiniz sekmeyi silmiş olabilir. Sitesinden tüm işleri listeleyen yeni bir sekme oluşturabilirsiniz.http://your-jenkins/newView.


mevcut işi kopyalarken, adı (işe erişirken url'deki gibi kodlanmamış) sağlamanız gerektiğini unutmayın, bu nedenle iş adında boşluklar varsa bunlar korunur. Kısacası, işin sadece orijinal adını koyun , başka bir şey yapmayın.
Yauhen

Ez-template eklentisi yüklendiğinde "Mevcut işi kopyala" bir şablona veya şablon kullanan bir işe uygulanır, şablona bağlı yeni bir iş oluşturur. Gerçekten bağımsız bir kopya istiyorsanız, Use another job as a templateyapılandırmayı silebilirsiniz .
user598656

146

Bir işi klonlayabilirsiniz:

  1. 'Yeni Öğe' bağlantısını tıklayın
  2. İşiniz için yeni bir ad verin
  3. 'Mevcut Öğeyi kopyala' radyo düğmesini seçin
  4. Klonlamak istediğiniz iş adını verin
  5. 'Tamam'ı tıklayın

Son olarak, klonlanmış işinizin tüm özelliklerini yansıtan yeni işiniz var.


117

Jenkins 2.9

  1. Jenkins> Yeni Öğe

    Jenkins Yeni Ürün

  2. Bir öğe adı girin - Ör. "MY_CLONE"

    Bir öğe adı girin

  3. Kaynak ( Şuradan kopyala ) işini belirtin > Tamam

    Adı yazmaya başladığınızda, varolan değerler bulunur. Bunun büyük / küçük harfe duyarlı olduğuna dikkat edin.

    Tamam'dan kopyala

  4. Varsayılan değerleri korumak istiyorsanız Kaydet'i tıklayın .

  5. Artık her iki iş de aynı konumda mevcut:

    İşleri görüntüle


3
Resimler bin kelimeye değer. Benim hayatım için küçük bir açılım bulamadım. Mulțumiri
michaelok

34

New Item> Project Name= abc> Bunun yerine Freestyle job,Copy from job name of already existing jobs

Dizinin dışına kopyalamak istediğiniz klasörün içindeyseniz kullanın ../.



14

aynı Jenkins, ancak farklı alt klasörlerde kopyalamak istiyorsanız, yeni bir öğe oluşturun -> kopyasını kullanın. yeni İş aynı dizinde klonlanacak. Ardından istediğiniz dizine taşımak için taşıma seçeneğini kullanın


Ben bunu kullandım. Sadece aynı klasöre kopyalamak çoğu zaman yeterli değildir. Teşekkürler!
donmartin

11

Yukarıdaki tüm cevaplar iyidir. Ancak işleriniz için "klasörler" oluşturduysanız, işler biraz farklıdır.

Altında yeni bir iş oluşturmak istediğiniz klasörü tıklayın. Ardından soldaki menüden "Yeni Öğe" yi tıklayın. Şimdi "yeni iş" URL'niz şu şekilde görünecektir (yeni klasörü "klasörüm" altında oluşturduğunuzu varsayarak):

http://my-jenkins:8080/job/my-folder/newJob

Altında Enter an item name, istediğiniz yeni iş adını girin. Ardından, alttaki Copy frommetin kutusunu kullanın . Kaynak işin iş yolunu girin.

Örneğin, kaynak işiniz klasör altındaysa src-folderve işin adı ise src-job, src-folder/src-job"Şuradan kopyala" kutusuna girmeniz gerekir .

Umarım yardımcı olur.


Hala işleri çapraz klasör yapıları kopyalamak için bir yol bulmaya çalışıyorum: Jenkins bir klasör olan her yeni öğe için değişmez "iş" ekleyin, örneğin localhost bir iş var : 8080 / job / x / job / y / job_1 , burada x ve y klasörlerdir. job_1 gerçek iştir. Bu işi localhost'a nasıl kopyalayabilirim : 8080 / job / x / job / z / job_1 ? Kaynak işine tüm referansları şanssız denedim.
Heinz

1
Adresine gidin localhost:8080/job/x/job/y/job_1. Bu sayfada, görmelisin Full project name. Kaynağı belirlerken bunu kullanmayı deneyin.
Bhushan

Eğer 2 klasör varsa folder1ve folder2aynı seviyede ve kopyalamak istediğiniz folder1\job1için folder2\job1, sen klasöre yeni öğesioluşturabilirsiniz folder2ve sonra kullanmak ..klasör yapısı içinde geri dönüp kopyalamak ../folder1/job1.
DRz

10

Proje kopyala bağlantı eklentisini de kullanabilirsiniz .

Bu, projenizin sol tarafındaki panele bir bağlantı ekleyecektir:

resim açıklamasını buraya girin

Aşağıdaki ekranda yeni İş adı istenecektir:

resim açıklamasını buraya girin


10

Benim durumumda, bir işi bir cenkins örneğinden diğerine kopyalamak zorunda kaldım.

Bu yüzden önce eski Jenkins'in dizin yapısının altına baktım (iş / dizin adı; config.xml dosyasını da not ettim) ve sonra yeni jenkinlerin dizin yapısının altına baktım ve burada aynı adı / işi olan bir dizin oluşturdum ve Bu yeni oluşturulan dizin altındaki config.xml.

Sonra "Jenkins'i Yönet" altında, "Yapılandırmayı Diskten Yeniden Yükle" yi tıkladım. Bu kadar.


"Diskten Yapılandırmayı Yeniden Yükle" ipucu için teşekkürler!
Aliza

1
Evet, birkaç öğeyi toplu olarak kopyalamak zorunda kaldığımda bunu yaparken, "Diskten Yeniden Yükleme" den önce, config.xml'deki bazı parametreleri arama / değiştirme, metin parçaları vb . Gibi CLI'de gerekli bazı manuel büyüleri de yapabilirsiniz . Config.xml dosyasının bulunduğu dizinin adının İşinizin adı olduğunu unutmayın (bu nedenle, Rohit'in aksine yeni bir İş oluşturmanız gerekiyorsa, farklı bir ad verin).
RAM237

Bence, içinde birçok iş bulunan birkaç klasör seviyeniz olduğunda, bu en iyi seçenektir.
cabreracanal

3

Yeni bir Öğe oluşturun ve mevcut olandan kopyalama seçeneği bulan en son seçeneğe gidin, sadece mevcut iş adınızı yazın ve çalışmak için bu projenin klonuna sahip olursunuz.


1

Jenkins işini alt klasörden kopyalayamadım. copy fromseçeneği aradığım öneriyi göstermedi.İş adını kopyalayarak öneri kullanmadan işe yaramadı.

Bu nedenle, dış klasörden bir iş oluşturmak istiyorsanız, önce işi alt klasörde oluşturmanız ve daha sonra onu yerleştirmeniz gereken farklı bir klasöre taşımanız gerekir.



0

Burada tüm cevaplar süper yararlı ama Jenkins hakkında çok garip bir hata özledim. Yeni iş yapılandırmalarını düzenledikten sonra, bazen yakınlaştırma düzeyiniz çok yüksekse, saveveya applydüğmesi seçeneğini göremeyebilirsiniz . Düğme sayfada bulunur ve yakınlaştırma seviyeniz tarafından gizlenir, sayfanızın sol alt köşesindeki düğmeyi görene kadar uzaklaştırmanız gerekir.

Garip, biliyorum!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.