Difference between revisions of "PubMan INGe Release Process"

From MPDLMediaWiki
Jump to navigation Jump to search
Line 17: Line 17:
*Download postgres.
*Download postgres.
*Start postgres service.
*Start postgres service.
*With pgadmin load [[File:inge_test.backup]]
* Work with GitShell from Github
* Work with GitShell from Github
Enable profiles: (z.B. in C:\Users\przibyll\.m2\settings-inge.xml)
Enable profiles: (z.B. in C:\Users\przibyll\.m2\settings-inge.xml)

Revision as of 10:54, 6 February 2019

This page describes how to release PubMan/INGe.

Before the release[edit]

  • Download Git.
  • Work with GitBash (auschecken geht schneller) oder GitShell from Github.
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.
  • With pgadmin load File:Inge test.backup
  • 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:

cd c:\temp\INGe
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`)
bzw.
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

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]

  • You need update rights for nexus!

(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)
  • Ear in C:\temp\INGe\target\checkout\pubman_ear\target