Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

Innehållsförteckning

Info
Skarpa releaser och RC bör skapas med hjälp ett release jobb i  Ineras Jenkins server men kan i undantagsfall skapas enligt instruktion nedan. Se även Skapa release med Jenkins.


Här beskrivs hur vi genomför en release mha Git, Maven och Ineras Nexus( samt tidigare Sonatype). För allmän information om releasehantering se Generella instruktioner för utvecklare och avsnittet Release Management Release management.

För mer information om hur Git används se /wiki/spaces/SKLTP/pages/3187835204.

Kontrollera se.skltp komponenter

...

i Ineras Nexus

1. Logga in på Sonatype och Ineras Nexus 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 när du gör en release!redan finns komponent byggd med samma versionnummer. Finns redan en komponent kommer deployjobbet att misslyckas.

Merge develop till master

2. Kontrollera att det inte finns några utestående ändringar lokalt eller centralt för develop.

Kodblock
$ git pull
$ git status

 


3. Byt till master. Kolla att inga utestående ändringar finns!

Kodblock
$ git checkout master
$ git pull
$ git status

...


4. Merge develop till master

Kodblock
$ git merge develop -m "Merge from develop"

Gör release mha Maven release plugin

För att deploya krävs att projektet är uppsatt korrekt i pom och i maven settings, se Release management


5. Bygg och verifiera att du har en stabil och korrekt version.

Kodblock
$ 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.

Kodblock
$ mvn release:clean release:prepare -DdryRun=true

 


7. Gör steg 1 i releasen mha Maven (exempel version 2.2.10-SNAPSHOT)
Not: instruktion för att skapa och konfigurera GPG-nyckelUtför första steget av releasen med prepare kommandot.

För mer information se  http://maven.apache.org/maven-release/maven-release-plugin/prepare-mojo.html

Kodblock
$ 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 perform kommandot

För mer information se  http://maven.apache.org/maven-release/maven-release-plugin/perform-mojo.html

Kodblock
$ 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

...


Info
titleMöjliga problem vid körning av release pluginet
  • Man fastnar vid steget git push: detta kan lösas genom att skicka med användarnamn och lösenord "-Dusername=USERNAME -Dpassword=XXX"
  • Fel vid generering av javadoc: För att skippa javadoc kan man lägga till -Darguments="-Dmaven.javadoc.skip=true". Kör man deploy skip läggs "-Dmaven.javadoc.skip=true" i befintliga "-Darguments."


Förbered för nästa utvecklingscykel

10. Byt till develop

Kodblock
$ git checkout develop

 


11. Merge develop från master

Kodblock
$ git merge master -m "Merge from master"

 


12. Bygg i Maven för att verifiera att du inte har några  problem i develop.

Kodblock
$ mvn clean install

...


13. Push master och develop  samt taggar till origin (eller använd SourceTree))

Kodblock
$ git push --tags origin develop:develop master:master


Redeploy till Nexus

Om releasen av någon anledning inte laddas upp till Nexus så kan man köra om uppladdningen med

Kodblock
mvn deploy --no-plugin-updates -P skltp -f pom.xml

Man får antingen checka ut den tag som ska laddas upp eller så kan man ställa sig i checkoutkatalogen som relese:perform skapat i targetkatalogen.