Här beskrivs hur vi genomför en release mha Git, Maven och Sonatype. För allmän information om releasehantering se Generella instruktioner för utvecklare och avsnittet Release Management.
För mer information om hur Git används se /wiki/spaces/SKLTP/pages/3187835204.
Kontrollera befintlig version på Sonatype
1. Logga in på Sonatype och verifiera att det inte finns en "öppen" version av någon se.skltp komponent. Om det finns en öppen version kommer din release att hamna tillsammans med denna!
Merge develop till master
2. Kontrollera att det inte finns några utestående ändringar lokalt eller centralt för develop.
$ git pull $ git status
3. Byt till master. Kolla att inga utestående ändringar finns!
$ git checkout master $ git pull $ git status
4. Merge develop till master
$ git merge develop
Gör release mha Maven release plugin
5. Bygg och verifiera att du har en stabil och korrekt version.
$ mvn clean test
6. Gör eventuellt en dryRun för att se hur en release kommer att påverka din kod. Detta görs framförallt när man hanterar nya artefakter/projekt och då för att verifiera att versionhanteringsparametrar är korrekt satta.
$ mvn release:clean release:prepare -DdryRun=true
7. Gör steg 1 i releasen mha Maven (exempel version 2.2.10-SNAPSHOT)
$ mvn release:clean release:prepare $ --> Release version: 2.2.10 $ --> SCM Release tag: v2.2.10 $ --> New development version: 2.2.11-SNAPSHOT $ --> GPG Passphrase: *****
8. Gör steg 2 i releasen mha Maven
$ mvn release:perform $ --> GPG Passphrase: *****
Publicera din release på Sonatype staging
9. Gå till Sonatype staging repository och gör en release för att synka till Mavens centrala staging repo
- Gå till https://oss.sonatype.org
- Logga på Nexus UI
- Gå till "Staging Repositories"
- Välj korrekt "staging repositiory"
- Välj din release
- Klicka på "Close" knappen
Förbered för nästa utvecklingscykel
10. Byt till develop
$ git checkout develop
11. Merge develop från master
$ git merge master
12. Bygg i Maven
$ mvn clean install
13. Push master och develop samt taggar till origin
$ git push --tags origin develop:develop master:master