19 Eylül 2014 Cuma

Maven Profil Oluşturma (Dev + Preprod + Prod) - 2

Herkese merhaba,
bir önceki yazımda sizlere maven profilinin nasıl oluşturulacağını ve intelliJ ile nasıl profil bazlı compile edileceğini  anlatmıştım. Geçen süre zarfında düşündüm ki ,  sizleri biraz ezberciliğe yönlendirmiş olabilirim. Dolayısıyla konuyla ilgili bir yazı daha yazarak arka planda bu işlerin nasıl ilerlediğini anlatayım istedim. Bu yazım da da komut satırı üzerinden maven profiline göre compile etmeyi anlatacağım.

Kısacası bir önceki  yazıda olan işlemlerin aynısını yapacağız ancak compile ederken maven install butonlarına basmadan bu işlemlerin komutunu yazarak yapacağız.

Öncelikle bir önceki yazımı yazarken oluşturduğum projemi tekrar intelliJ  ile açıyorum. Pom.xml dosyasındaki  profiles tagları arasındaki tüm profiller için  activation tanımlaması yapacağım. Bunun için activation tagları arasında property ve property içinde de name/value tag lerini kullanacağım. Bu sayede profillere birer isim ve bu isimlere birer değer set etmiş olacağız.

  • profiles
    • profile
      • activation
        • property
          • name = env
          • value = Test, Prod yada Dev 
şeklinde bir hiyerarşide olacak.
pom.xml 
<activation>
     <property>
          <name>env</name>
          <value>Test</value>
     </property>
</activation>

Basitçe şöyle düşünebilirsiniz : env diye bir değişken tanımlayıp ve değerini Test olarak set ediyoruz.

şimdi komut satırı üzerinden cd komutuyla projenin kodlarının olduğu dizine gidelim


başlangıçta   
mvn help:active-profiles
 komutunu çalıştırarak varsayılan da hangi profil ile compile edildiğine bakıyoruz(sonuç aşağıdadır).



hemen ardından  
mvn -Denv=Test help:active-profiles
 komutuyla aktif profili önce Test olarak set ettim. Daha sonrada aktif profili tekrar ekrana yazdırdım.


Son olarak ta alttaki komutla profili test olarak set edip projemizi compile edelim.
mvn -Denv=Test install

Bu işlemlerden sonra projenin  target dizini altında oluşan war dosyası artık test profiline göre hazırlanmıştır. Test sunucusuna deploy edebilirsiniz.. :)


kaynak dosyalar(github) : indirmek için tıklayın

Hiç yorum yok:

Yorum Gönderme