12 Aralık 2021 Pazar

release plugin

Giriş
Açıklaması şöyle
The Maven Release Plugin simplifies the process of releasing your project by automating tasks like tagging, versioning, and deploying artifacts to a repository. This ensures a consistent and streamlined release process.
tagNameFormat tag
Örnek
Şöyle yaparız
plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <version>3.0.0-M4</version>
  <configuration>
    <tagNameFormat>v@{project.version}</tagNameFormat>
  </configuration>
</plugin>
scm tag
svn veya git'e bağlanmak için şöyle yaparız.
<scm>
  <connection>scm:svn:http://svn/myproject/trunk/MyDevel/MyApp</connection>
  <developerConnection>scm:svn:http://svn/myproject/trunk/MyApp</developerConnection>
  <url>http://svn/myproject/trunk/MyApp</url>
</scm>
distributionManagement tag
Örnek - nexus
Deploy edilecek sunucuyu tanıtmak için şöyle yaparız.
<distributionManagement>
  <repository>
    <id>MyDevelopment</id>
    <url>http://nexus:8080/nexus/content/repositories/myapp</url>
  </repository>
  <snapshotRepository>
    </id>MyDevelopment_Snapshots</id>
    <url>http://nexus:8080/content/repositories/myapp_Snapshots</url>
  </snapshotRepository>
</distributionManagement>
Nexus'a bağlanırken kullanılacak şifre ".m2/settings.xml" dosyasındadır. Şöyledir
<server>
  <id>MyDevelopment</id>
  <username>myuser</username>
  <password>mypassword</password>
</server>
Örnek
Şöyle yaparız.
<distributionManagement>
  <snapshotRepository>
    <id>...</id>
    <url>http:...</url>
  </snapshotRepository>
</distributionManagement>
Jenkins
release plugin'i Jenkins içinden kolayca kullanmak için Jenkins'e "Maven Release Plugin" kurulur.
Ayarlar ile ilgili örnek burada. Benim kullandığım ayaralr şöyle

1. Proje'de "Konfigürasyonu Düzenle" tıklanır
2. Yapılandırma Ortamı altında "Maven release build" seçilir
3. Release goals and options kutusuna "-Dresume=false release:prepare release:perform -U -DcheckModificationExcludeList=**/*.pom,pom.xml -Darguments="-DskipTests" -DignoreSnapshots=true" girilir.
4. DryRun goals and options kutusuna "-Dresume=false -DdryRun=true release:prepare -Darguments="-DskipTests" -DignoreSnapshots=true" girilir.

Jenkins kullanıcısının ".m2/settings.xml" dosyası güncellenir.

Hiç yorum yok:

Yorum Gönder

Local Snapshot Kullanmak

Örnek Şöyle yaparız <repository> <id>snapshot-repository</id> <name>Maven2 Snapshot Repository</name> &l...