Version 23

    This page describes the steps for the rollout of the Nexus Maven repository Manager.

    Before the release, the repositories should be set up according to the docs (Maven Repository Organization).

    This is planned for the weekend of April 17, 2010

     

    Preparation (April 15-16)
    • Copy the snapshot from snapshots.jboss.org to the new snapshot repository (sonatype-work/nexus/storage/snapshots)
    • Make a full copy of the current maven2 repository to use when running the repository metadata and split scripts (maven2-repo-copy).

     

    Rollout (April 17-18)
    • (Done) Disable user access to the new Nexus server so that no new deployments occur during the switch.
    • (Done) Disable commit access to the svn repository (https://svn.jboss.org/repos/repository.jboss.org/)
    • Clear repositories on new Nexus server
      • Remove all files under each of the repisotory directories (sonatype-work/nexus/storage/[repository])
    • Copy the contents of the old snapshots repository (http://snapshots.jboss.org/maven2) to the new location (sonatype-work/nexus/storage/snapshots) if this hasn't already been done.
    • Update from svn/repository.jboss.org so that the files on the repository server are up to date with the svn repo (This should happen automatically as usual).
    • Update the copy of the repo (maven2-repo-copy) using rsync
    • Generate artifact audit info from the svn checkout (Using John's script).
      • Ensure ruby is installed on the system
      • cd into the svn workdir containing the repository
      • run `/path/to/generate-audit-info.rb .` (script is attached to this page)
    • Move the folders of the JBoss.org groupIds from the repository copy to the releases repository  ( Maven JBoss GroupIds )
    • Split the copy of the old releases repository into the new structure ( Maven Repository Nexus Configuration ).
      • Make sure that a recent version of Java is available (java -version should return 1.6.0 or higher)
      • Download the sort script and related jar file and place them into a directory called "sort".
      • Make a directory to hold the split repository (mkdir maven2-repo-split)
      • Run the shell script an provide the parameters for the source directory, the nexus index and destination directory
        • sort/sort.sh maven2-repo-copy sort maven2-repo-split
        • This will create four subdirectories under maven2-repo-split (changed, relocated, same, new)
      • Move "changed" to the new deprecated repository location (sonatype-work/nexus/storage/deprecated)
      • Move "relocated" to the new deprecated repository location (sonatype-work/nexus/storage/deprecated)
      • Artifacts in "same" can be deleted
      • Artifacts in the "new" folder will be moved to the thirdparty-releases repository (sonatype-work/nexus/storage/thirdparty-releases)
      • Folders/files remaining in maven2-repo-copy should be zipped up and saved somewhere for manual inspection.
    • Remove svn metadata from the new repository folders. 
      • From the directory sonatype-work/nexus/storage run " rm -rf `find . -name .svn` "
    • Rebuild nexus metadata and indexes from the Nexus admin interface.

     

    Run a couple test builds against the new repository