3.7 KiB
3.7 KiB
Erato Rate Limit Starter - Yayınlama Rehberi
🏠 Local Maven Repository
En basit yöntem - diğer projelerinizde hemen kullanabilirsiniz:
mvn clean install
🏢 Private Nexus/Artifactory
1. pom.xml'e distribution management ekleyin:
<distributionManagement>
<repository>
<id>erato-releases</id>
<url>https://nexus.erato.com.tr/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>erato-snapshots</id>
<url>https://nexus.erato.com.tr/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
2. Deploy:
mvn clean deploy
🐙 GitHub Packages
1. pom.xml güncelleme:
<distributionManagement>
<repository>
<id>github</id>
<n>GitHub Packages</n>
<url>https://maven.pkg.github.com/erato/rate-limit-starter</url>
</repository>
</distributionManagement>
2. GitHub Actions workflow (.github/workflows/maven-publish.yml):
name: Publish Package
on:
release:
types: [created]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Publish to GitHub Packages
run: mvn deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
🗂️ Shared File System
Küçük takımlar için basit çözüm:
1. pom.xml:
<distributionManagement>
<repository>
<id>file-repo</id>
<url>file:///shared/maven-repo</url>
</repository>
</distributionManagement>
2. Deploy:
mvn clean deploy
3. Diğer projelerde kullanım:
<repositories>
<repository>
<id>shared-repo</id>
<url>file:///shared/maven-repo</url>
</repository>
</repositories>
🐳 Docker Registry (JIB)
1. pom.xml'e JIB plugin ekleyin:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>3.3.2</version>
<configuration>
<to>
<image>registry.erato.com.tr/rate-limit-starter:${project.version}</image>
</to>
</configuration>
</plugin>
2. Build & Push:
mvn compile jib:build
📦 Manual JAR Distribution
1. JAR oluştur:
mvn clean package
2. Diğer projelerde kullanım:
# JAR'ı lib klasörüne kopyala
mkdir -p lib
cp erato-rate-limit-spring-boot-starter-1.0.0.jar lib/
# pom.xml'e system dependency ekle
<dependency>
<groupId>tr.com.erato</groupId>
<artifactId>erato-rate-limit-spring-boot-starter</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/erato-rate-limit-spring-boot-starter-1.0.0.jar</systemPath>
</dependency>
🔑 Güvenlik
Repository credentials için environment variables kullanın:
export NEXUS_USERNAME=your-username
export NEXUS_PASSWORD=your-password
mvn deploy
Veya ~/.m2/settings.xml dosyasında saklayın.
🏷️ Versioning
Semantic versioning kullanın:
- 1.0.0 - İlk stable release
- 1.0.1 - Bug fixes
- 1.1.0 - Yeni özellikler (backward compatible)
- 2.0.0 - Breaking changes
Version güncelleme:
mvn versions:set -DnewVersion=1.0.1
mvn versions:commit
📋 Release Checklist
- Testler geçiyor mu?
mvn test - Javadoc complete mi?
mvn javadoc:javadoc - README güncel mi?
- CHANGELOG eklendi mi?
- Version number doğru mu?
- Tag oluşturuldu mu?
git tag v1.0.0 - Deploy edildi mi?
mvn deploy