PubMan INGe Release Process
This page describes how to release PubMan/INGe.
Before the release[edit]
- Download Git.
- Work with GitBash for clone
cd c:\temp git clone <INGE repository> (z.B. git clone https://github.com/MPDL/INGe.git) cd c:\temp\INGe git checkout <aktueller_branch> (z.B. git checkout master) git pull
- Check that release branch is not in possible conflict state with the master branch. It might happen if somebody has made a commit in master (although that shouldn't happen)
Release PubMan / INGe[edit]
Prepare the release[edit]
- Download maven.
- Download postgres.
- Start postgres service.
- Work with GitShell from Github
Enable profiles: (z.B. in C:\Users\przibyll\.m2\settings-inge.xml)
- env-pure
- env-release-build
<profile> <id>env-release-build</id> <properties> <inge.aa.admin.username>xxx</inge.aa.admin.username> <inge.aa.admin.password>xxx</inge.aa.admin.password> <inge.aa.default.target>https://dev.inge.mpdl.mpg.de/auth/clientLogin</inge.aa.default.target> <inge.aa.instance.url>https://dev.inge.mpdl.mpg.de/auth/</inge.aa.instance.url> <inge.cone.database.server.name>dev.inge.mpdl.mpg.de</inge.cone.database.server.name> <inge.cone.database.user.name>xxx</inge.cone.database.user.name> <inge.cone.database.user.password>xxx</inge.cone.database.user.password> <inge.cone.service.url>https://dev.inge.mpdl.mpg.de/cone/</inge.cone.service.url> <inge.database.jdbc.url>jdbc:postgresql://dev.inge.mpdl.mpg.de:5432/inge</inge.database.jdbc.url> <inge.database.user.name>xxx</inge.database.user.name> <inge.database.user.password>xxx</inge.database.user.password> <inge.doi.service.url>https://test.doi.mpdl.mpg.de</inge.doi.service.url> <inge.es.cluster.name>elastic_inge</inge.es.cluster.name> <inge.es.transport.ips>134.76.28.200:8080</inge.es.transport.ips> <inge.filestorage.seaweed_master_server_ip>https://dev.inge.mpdl.mpg.de/seaweedfs-master</inge.filestorage.seaweed_master_server_ip> <inge.pid.service.url>https://test.doi.mpdl.mpg.de</inge.pid.service.url> <inge.pubman.csl_editor.instance>http://pubman.mpdl.mpg.de/csl-editor/</inge.pubman.csl_editor.instance> <inge.pubman.instance.url>http://localhost:8080</inge.pubman.instance.url> <inge.rest.service.url>http://localhost:8080/rest</inge.rest.service.url> <inge.syndication.service.url>https://dev.inge.mpdl.mpg.de/syndication</inge.syndication.service.url> <inge.systemtype>workstation</inge.systemtype> <inge.unapi.service.url>http://localhost:8080/rest/unapi</inge.unapi.service.url> <inge.rest.development.enabled>true</inge.rest.development.enabled> <inge.rest.development.admin.username>xxx</inge.rest.development.admin.username> <inge.rest.development.admin.password>xxx</inge.rest.development.admin.password> <inge.rest.development.file_url>https://dev.inge.mpdl.mpg.de/pubman_rest_development/development/component/</inge.rest.development.file_url> <inge.matomo.analytics.site.id>52</inge.matomo.analytics.site.id> <inge.matomo.analytics.auth.token>f65d066e35cc1d8974c1427d364ad830</inge.matomo.analytics.auth.token> <jboss.install.dir>C:\_tools\wildfly\wildfly-13.0.0.Final</jboss.install.dir> </properties> </profile>
Windows:
mvn release:prepare -s [absolutepath/to/settings-inge.xml] -P env-release-build -DignoreSnaphots=true -DupdateReleaseInfos=true -DpreparationGoals="clean install" (z.B. mvn release:prepare -s C:/Users/przibyll/.m2/settings-inge.xml -P env-release-build -DignoreSnaphots=true -DupdateReleaseInfos=true -DpreparationGoals="clean install") Linux/Mac <pre>mvn release:prepare -s [absolutepath/to/settings-inge.xml] -P env-release-build -DignoreSnaphots=true -DupdateReleaseInfos=true -DpreparationGoals="clean install"
- For the snapshot dependencies (citation languages 1.0.1-SNAPSHOT) do following steps
- Resolve Snapshot dependencies: yes
- 0 - All
- 1.0.1-SNAPSHOT
- 1.0.1-SNAPSHOT
- restliche Vorschläge unverändert übernehmen
If a problem happened, do a rollback[edit]
mvn release:rollback git tag -d <neuer_tag_name> (z.B. git tag -d INGe-8.0.5) //comment: rollback doesn't remove the tag, that must be removed before doing a new release:prepare git push origin :tag_name (z.B. git push origin INGe-8.0.5) // comment: remove the tag in remote
Perform the release[edit]
(the site deployment is not supported so far. Therefore we skip it here)
make sure your settings has server entries (including credentials) for nexus, snapshots and releases
mvn release:perform -Dgoals=deploy -s [absolutepath/to/settings-inge.xml] -P env-release-build (z.B. mvn release:perform -Dgoals=deploy -s C:/Users/przibyll/.m2/settings-inge.xml -P env-release-build)