#117 - Polished README on the actual release process.

This commit is contained in:
Oliver Drotbohm
2019-05-13 14:05:39 +02:00
parent 6937c47430
commit c352649e74

View File

@@ -1,11 +1,15 @@
1. Infrastructure requirements
## Setup
### Infrastructure requirements
- Pivotal VPN account
- User account (for SCP access) on `docs.af.pivotal.io`. Needs to be registered within local `settings.xml` for a server named `static-dot-s2`.
- Credentials for `buildmaster` accounts on https://repo.spring.io.
- Credentials for https://oss.sonatype.org (to deploy and promote GA and service releases, need deployment permissions for `org.springframework.data`) in `settings.xml` for server with id `sonatype`.
2. Add an `application-local.properties` to the project root and add the following properties:
### Prepare local configuration and credentials
Add an `application-local.properties` to the project root and add the following properties:
- `git.username` - Your GitHub username.
- `git.password` - Your GitHub password or API key.
@@ -17,19 +21,24 @@
See `application-local.template` for details.
3. Run `mvn package appassembler:assemble && sh target/appassembler/bin/spring-data-release-shell`
### Build and execute the release shell
4. Pre-release checks
Run `mvn package appassembler:assemble && sh target/appassembler/bin/spring-data-release-shell`
## The release process
### Pre-release checks
Make sure that:
* All work on CVEs potentially contained in the release is done (incl. backports etc.)
* Upgrade dependencies in Spring Data Build parent pom (mind minor/major version rules)
* All release tickets are present (`$ tracker releasetickets $trainIteration`)
* Review open tickets for release
* Self-assign release tickets (`$ tracker prepare $trainIteration`)
* Announce release preparations to mailing list
5. Commands to execute
### Release the binaries
```
$ release prepare $trainIteration
@@ -37,14 +46,19 @@ $ release build $trainIteration
$ release conclude $trainIteration
$ git push $trainIteration
$ git push $trainIteration --tags
$ release distribute $trainIteration
$ git backport changelog $trainIteration --target $targets
$ foreach $target -> git push $target
```
6. Post-release tasks
### Distribute documentation and static resources from tags
* Close Jira tickets and GitHub release tickets.
```
$ release distribute $trainIteration
```
### Post-release tasks
* Close JIRA tickets and GitHub release tickets.
* Create release tickets for the next train iteration, archive old release versions. Close Jira versions/GitHub milestones.
```