Deploying Releases/Snapshots
This document describes how to deploy releases and snapshots specifically for Apache Ratis. For general information about Publishing Maven Artifacts at Apache, see http://www.apache.org/dev/publishing-maven-artifacts.html
Prerequisite
It requires committer access in order to deploy releases and snapshots.
Environment Setup
To publish, use the following settings.xml
file (placed in ~/.m2/settings.xml
):
<settings>
<servers>
<server>
<id>apache.releases.https</id>
<username>your-apache-username</username>
<password>{your-encrypted-password}</password>
</server>
<server>
<id>apache.snapshots.https</id>
<username>your-apache-username</username>
<password>{your-encrypted-password}</password>
</server>
</servers>
</settings>
To use encrypted password, see http://maven.apache.org/guides/mini/guide-encryption.html For OpenPGP setup, see http://www.apache.org/dev/openpgp.html
How to Deploy
We use Apache Maven Deploy Plugin to deploy artifacts.
mvn deploy
# or
mvn -s /my/path/settings.xml deploy
We also use release profile for building the release.
mvn install -Prelease -Papache-release
Steps for Deploying a Snapshot
-
Test the artifacts locally.
- Clean, shade and compile everything.
- Run all tests.
-
Set snapshot version locally.
- Get the last commit id:
- Get the last commit id:
git log --abbrev-commit --abbrev=7 --pretty=oneline | head -1
2. Set the versions of local artifacts:
```bash
mvn versions:set -DnewVersion=--SNAPSHOT
- If everything works fine, run the following command to publish artifacts to Apache repository:
mvn deploy -DskipTests -DskipShade
4. Verify the snapshot artifacts published in [https://repository.apache.org/content/groups/snapshots/org/apache/ratis/](https://repository.apache.org/content/groups/snapshots/org/apache/ratis/)
Finally, you may delete the `pom.xml.versionsBackup` files by:
```bash
find . -name pom.xml.versionsBackup | xargs rm