Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Revisions

kernel trunk r62359 (1.1-SNAPSHOT refresh)
kernel-1.0.x r62388 (1.0.8, 1.0.9-SNAPSHOT)

New versions

Tag: 1.0.8
Branch: 1.0.9-SNAPSHOT
Trunk 1.1-SNAPSHOT

Testing exceptions

None.

Performing the release

Backup https://source.sakaiproject.org/maven2/org/sakaiproject/kernel/

(warning) Be conservative. Back up the target until we are sure that Maven properly pushes the new release to the repo.

cd /var/www/html/maven2/org/sakaiproject
tar -czvf  kernel-[YEARMONTHDAYHOURMINSEC].tgz kernel

(minus) ACHTUNG! BASE POM <distributionManagement> RELEASE REPO TARGET HAS NOT BEEN UPDATED

David: the release repo target still points to file:///tmp/maven2. Unless, the pom is updated to automate this step you must copy the Maven2 the contents of org/sakaiproject/kernel locally to /tmp/maven2/org/sakaiproject/kernel.

Copy Maven2 /kernel locally

Start now as this can take some time. Folder copy will later serve as target for deploying artifacts generated during the deploy phase.

copy http://source.sakaiproject.org/maven2/org/sakaiproject/kernel 
to 
/tmp/maven2/org/sakaiproject/kernel

trunk/1.0.x

<repository>
  <uniqueVersion>false</uniqueVersion>
  <id>local</id>
  <name>Local Test</name>
  <url>file:///tmp/maven2</url>
  <layout>default</layout>
</repository>

Backup Sakai Maven2 Repo /kernel

(warning) Create a backup copy of /kernel.

cd /var/www/html/maven2/org/sakaiproject
sudo cp -R kernel kernel-[current version]

Checkout the kernel project

Checkout a clean version of the project using SVN not git.

svn co https://source.sakaiproject.org/svn/kernel/branches/kernel-1.0.x/ kernel-1.0.x

(warning) Avoid opening 1.0.x in Eclipse; otherwise you will pollute the projects with Eclipse metadata files that will have to be deleted before performing the release. Checkout with svn (not git)

Clean out local repo

Verify that a clean build works ok with no external dependencies. Issuing mvn -o clean install ensures that .m2 repo is populated, a requirement for the assembly plugin. If the build fails because external dependencies are missing in .m2 run mvn clean install, then delete /kernel and run mvn -o clean install again.

rm -rf ~/.m2/repository/org/sakaiproject/kernel
mvn -o clean install

Note: check for Eclipse metadata files (.classpath, .project) and remove. Uncommitted versions of these files will cause mvn release:prepare to fail.

Run integration tests

(warning) Note: not sure if we are ready for this step.

See integration test set up instructions at https://source.sakaiproject.org/svn/test-harness/trunk/xdocs/README-INTEGRATION-TESTING.txt

Create tag

Issue the following release plugin goals. Do a dry run first.

mvn release:prepare -DdryRun=true
mvn release:clean release:prepare release:perform

When prompted for new versions:

#set the released version to 1.0.8
#set the tag to kernel-1.0.8
#set the the new version to 1.0.9-SNAPSHOT

Should the build fail rerun the following mvn goals to restart the build:

mvn clean install 
mvn release:prepare

Trunk vs Branch releases

(warning) Not applicable for this release.

When releasing from trunk, issue the branch goal to create a new branch:

mvn release:clean  (clean up release)  
mvn release:branch -DbranchName=kernel-1.1.x

The release plugin will then branch the current trunk to branches/kernel-1.1.x.
Edit the poms to 1.2-SNAPSHOT and commit.

Finis

Check 1.0.8 tag

The release plugin will generate a 1.0.8 tag. Check it out and make sure it works, binding it against a local working copy of 2.6.x.

Refresh Maven Repo with 1.0.8, 1.0.9-SNAPSHOT and 1.1-SNAPSHOT artifacts

Each new release will require placement of corresponding kernel artifacts in the Maven2 repo.
Steps:

1. Check out 1.0.x branch (1.0.9-SNAPSHOT) and perform

mvn deploy

2. Check out kernel trunk (1.1-SHAPSHOT) and perform

mvn deploy

For each new version (tag, SNAPSHOT) issue the following command from the root folder:

If a release:

mvn -Prelease clean install deploy -DupdateReleaseInfo=true

if a SNAPSHOT:

mvn deploy

Maven will deploy the new artifacts to the Sakai Maven2 SNAPSHOT Repo automatically.

Populate Maven Repo

(warning) This step may be rendered obsolete if Maven can push kernel-1.0.8 to the repo target as part of the release process.

Tar up kernel artifacts. Copy to https://source.sakaiproject.org/maven2/org/sakaiproject/. Make sure backup of existing /kernel directory is in place. Delete existing /kernel for a clean refresh. Unpack kernel-1.0.8.tgz.

cd /var/www/html/maven2/org/sakaiproject
tar -czvf  kernel-[YEARMONTHDAYHOURMINSEC].tgz kernel

copy kernelrepo.tgz to Maven2 repo

cd /var/www/maven2/org/sakaiproject
rm -rf kernel
tar -xzvf kernel-1.0.8.tgz

Repo permissions

(warning) Make sure repo permissions are correct

sudo chown -R apache:apache kernel

Base pom.xml updates

Update 2.6.x and 2.6.0 branch poms to bind to kernel-1.0.8. File a Jira on this in order to document.

Jira Kernel project

Set 1.0.8 version to released; add 1.0.8 (tentative).

Jira Release Mgmt project

Update home page and Kernel page.

Inform community with email.

Example:

References

Maven Release Plugin
Maven mini-guide
J. Ferguson, "Using the Maven Release Plugin"

  • No labels