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å Ineras Nexus och verifiera att det inte 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 |
4. Gör en commit av master innan release påbörjas
Kodblock |
---|
$ git commit -a -m "Commit för release 2.2.10" |
...
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 |
Se speciellt på...
...
7. Utfö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
$
$
$
$ |
...
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
$
$
$ |
Publicera din release på Sonatype staging
8. Gå till Sonatype staging repository och gör en release för att synka till Mavens centrala 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
Validera din release i verifieringsmiljö
9. Hämta din release från Sonatype Staging miljö till din verifieringsmiljö.
! Om något är fel i din release kan du ordna detta på din release-tag i git och därefter göra en omdeploy till Sonatype staging repository från tag-katalogen.
Gör release från Sonatype staging till Sonatype central
...
Info | ||
---|---|---|
| ||
|
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 |
14. Commit till develop
Kodblock |
---|
$ git commit -a -m "Påbörja arbete på version 2.2.11" |
...
13. Push master och develop
...
samt taggar till origin (eller använd SourceTree))
Kodblock |
---|
$ git push --tags origonorigin 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.