Difference between revisions of "PubMan INGe Release Process"

From MPDLMediaWiki
Jump to navigation Jump to search
Line 2: Line 2:
=Before the release=
=Before the release=
* Download Git.
* Download Git.
* Work with GitBash for clone
* Work with GitBash.
<pre>
<pre>
cd c:\temp
cd c:\temp

Revision as of 09:20, 6 February 2019

This page describes how to release PubMan/INGe.

Before the release[edit]

  • Download Git.
  • Work with GitBash.
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)