GeoNetworkバージョンをリリースする

本節では,開発チームが新しいバージョンを発表する際に従う手順を記録する.

一度発行された分枝は完全にテストされて安定していれば、発行されることができる。

  1. バージョンを構築する

# Setup properties
frombranch=origin/master
versionbranch=3.12.x
version=3.12.1
minorversion=0
newversion=$version-$minorversion
currentversion=3.12-SNAPSHOT
previousversion=3.12.0
nextversion=3.12-SNAPSHOT
nextMajorVersion=4.0.0-SNAPSHOT


# Get the branch
git clone --recursive https://github.com/geonetwork/core-geonetwork.git \
          geonetwork-$versionbranch
cd geonetwork-$versionbranch


# Create or move to the branch for the version
# Create it if it does not exist yet
git checkout -b $versionbranch $frombranch
# or move into it if it exist
# git checkout $versionbranch


# Update version number (in pom.xml, installer config and SQL)
./update-version.sh $currentversion $newversion


# Build the new release
mvn clean install -DskipTests -Pwith-doc


# Generate list of changes
cat <<EOF > docs/changes$newversion.txt
================================================================================
===
=== GeoNetwork $version: List of changes
===
================================================================================
EOF
git log --pretty='format:- %s' $previousversion... >> docs/changes$newversion.txt


# Download Jetty and create the installer
cd release
mvn process-resources -Djetty-download
mvn package

# Deploy to osgeo repository (requires credentials in ~/.m2/settings.xml)
mvn deploy
  1. インストールプログラムのテスト

cd target/GeoNetwork-$newversion
unzip geonetwork-bundle-$newversion.zip -d geonetwork-bundle-$newversion
cd geonetwork-bundle-$newversion/bin
./startup.sh
  1. 新しいバージョンを提出してマークする

# Then commit the new version
git add .
git commit -m "Update version to $newversion"

# Push the release tag
git tag -a $version -m "Tag for $version release"
git push origin $version

# Set version number to SNAPSHOT
./update-version.sh $newversion $nextversion

# Add SQL migration step for the next version
mkdir web/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v3122
cat <<EOF > web/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v3122/migrate-default.sql
UPDATE Settings SET value='3.12.2' WHERE name='system/platform/version';
UPDATE Settings SET value='SNAPSHOT' WHERE name='system/platform/subVersion';
EOF
vi web/src/main/webResources/WEB-INF/config-db/database_migration.xml

はい。 WEB-INF/config-db/database_migration.xml 以下の2つのステップで新しいバージョンにエントリを追加します。

<entry key="3.12.2">
  <list>
    <value>WEB-INF/classes/setup/sql/migrate/v3122/migrate-</value>
  </list>
</entry>
git add .
git commit -m "Update version to $nextversion"


# Push the branch
git push origin $versionbranch
  1. 出版する.

チェックサムファイルを生成する

  • Linuxを使用する場合は、以下の操作を実行してください。

cd web/target && md5sum geonetwork.war > geonetwork.war.md5 && cd ../..
cd release/target/GeoNetwork-$version && md5sum geonetwork-bundle-$newversion.zip >  geonetwork-bundle-$newversion.zip.md5 && cd ../..
  • Mac OS Xを使用する場合:

md5 -r web/target/geonetwork.war > web/target/geonetwork.war.md5
md5 -r release/target/GeoNetwork-$newversion/geonetwork-bundle-$newversion.zip > release/target/GeoNetwork-$newversion/geonetwork-bundle-$newversion.zip.md5

SourceForge Firstについて:

sftp $sourceforge_username,geonetwork@frs.sourceforge.net
# For stable release
cd /home/frs/project/g/ge/geonetwork/GeoNetwork_opensource
# or for RC release
cd /home/frs/project/g/ge/geonetwork/GeoNetwork_unstable_development_versions/
mkdir v3.12.1
cd v3.12.1
put docs/changes3.12.1-0.txt
put release/target/GeoNetwork*/geonetwork-bundle*.zip*
put web/target/geonetwork.war*
bye

文書https://github.com/geonetwork/docにChangeLogを更新または追加する.

GitHub https://github.com/geonetwork/core-geonnetwork/milestones?state=Closed上のマイルストーンを閉じ,SourceForgeダウンロードリンクを提供する.

このバージョンはGitHub https://github.com/geonetwork/core-geonnetwork/releaseでリリースされています。

更新サイトリンクhttps://github.com/geonnetwork/web.

  • バージョンの変更ファイルをhttps://github.com/geonetwork/doc/tree/Development/source/views/change-logに追加

  • Https://github.com/geonetwork/doc/blob/Development/source/views/change-log/index.rstに上のファイルを一覧表示する

  • 更新バージョン:https://github.com/geonetwork/web/blob/master/docsrc/conf.py

  • 更新ダウンロードリンク:https://github.com/geonetwork/web/blob/master/docsrc/downloads.rst

  • 新バージョンの追加部分:https://github.com/geonetwork/WebSite/blob/master/docsrc/news.rst

メーリングリストに電子メールを送ります。

  1. 独立した支店に合併する

プライマリ·バージョンである場合、メイン·バージョンを次のバージョンに更新しなければならない(例えば、3.8.0であれば,3.7.xは3.9.x).

# Create it if it does not exist yet
git checkout master
./update-version.sh $currentversion $nextMajorVersion

以下のフォルダにあります web/src/main/webapp/WEB-INF/classes/setup/sql/migrate 創立 v370 ファイルです。

このフォルダに1つを作成します migrate-default.sql 内容は以下のとおりである.

UPDATE Settings SET value='3.7.0' WHERE name='system/platform/version';
UPDATE Settings SET value='SNAPSHOT' WHERE name='system/platform/subVersion';

はい。 web/src/main/webResources/WEB-INF/config-db/database_migration.xml 遷移のために以下を追加して遷移スクリプトを呼び出す:

<entry key="3.7.0">
  <list>
    <value>WEB-INF/classes/setup/sql/migrate/v370/migrate-</value>
  </list>
</entry>

新しいバージョンを提出する

git add .
git commit -m "Update version to $nextMajorVersion"
git push origin master