Maven 3 projesi ve "Maven release build" eklentisi etkinleştirilerek bir Jenkins işi yapılandırdım ve ayrıca, artıkları bir Nexus deposuna yerleştirmek için bir post-build eylemi ekledim. Ancak, "Build Now" (Şimdi Oluştur) düğmesi yerine "Maven Sürümünü Gerçekleştir" bağlantısını tıklatarak, kullanıcı bu işlemi başlatmamışsa, yapay nesnelerin dağıtılmasını istemiyorum. "Hemen Oluştur" düğmesine tıkladığımda, herhangi bir yere dağıtılmayacak bir anlık görüntü oluşturmak istiyorum.Bir sürüm oluşturma gerçekleştirmediğim sürece Jenkins'i Maven deposuna dağıtmamak için nasıl yapılandırabilirim?
Bu davranışı denetlemek için IS_M2RELEASEBUILD adlı bir ortam değişkeni kullanabileceğimi belgelerden anladım. Bu ortam değişkeni, yapıyı "Maven Sürümünü Gerçekleştir" bağlantısı üzerinden başlatıldığında M2 Serbest Bırakma Eklentisi tarafından doğru olarak ayarlanmıştır. Ancak post inşa eylemi bunu tamamen görmezden geliyor.
Ben Jenkins LTS 1.509.3 Maven'i 3.0.5 kullanıyorum.
UPDATE: Lütfen POM içindeki Maven Serbest Bırakma Eklentisini kullanarak bir geçici çözüm aramayacağımı unutmayın. Amacım, check-in'ler tarafından tetiklenen CI yapısı (anlık görüntüyü dağıtmadan) olarak çalışan ve Jenkins M2 Release eklentisini kullanarak bir yayın oluşturma işlemini gerçekleştirmek için aynı işi kullanabilecek tek bir Jenkins işi oluşturmaktır.
Versiyonu SNAPSHOT olarak değiştirmek ve anlık görüntü havuzunu tanımlamaya ne dersiniz? –
@AbhijithNagarajan 2 post-build eylemi (bir sürüm için bir tane ve bir tane anlık görüntü için) sahip olmanın bir yolunu görmüyorum ve sanırım bir ya da diğerini koşullu yürütmenin bir yolunu bulmakta benzer bir problem olurdu. Ayrıca aslında enstantane eserler dağıtmak istemiyorum. –
Neden eşyalarınızı dağıtmak için maven kullanmıyorsunuz? –