Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Move convenience binaries and related artifacts from dist/dev to dist/release (note, the release branch requires PMC access):

    Code Block
    languagebash
    svn move -m "${JIRA_TICKET}" https://dist.apache.org/repos/dist/dev/nifi/nifi-registry/nifi-registry-${VERSION} https://dist.apache.org/repos/dist/release/nifi/nifi-registry/nifi-registry-${VERSION}


  2. At https://repository.apache.org, login with your Apache ID credentials, go to Staging Repositories, select Release and follow the instructions on the site.

  3. For the source code git repository, merge the release branch into master:

    Code Block
    languagebash
    git checkout master
    git merge --no-ff ${JIRA_TICKET}-RC${RC}
    git push asf master


  4. Update the Migration Guidance on the Wiki:
    https://cwiki.apache.org/confluence/display/NIFI/Migration+Guidance

  5. Update the wiki release notes with the final date of the release:
    https://cwiki.apache.org/confluence/display/NIFI/Release+Notes

  6. Update the NiFi website to point to the new download(s).
    - Remove older release artifacts from download page (leave the current release and the previous one). 
    - For the release just previous to this new one change the links to point to the archive location. See current page as an example of the needed URL changes. 
    - In addition to updating the download page as described delete artifacts other than the current/new release from the dist/nifi SVN storage. They are already in the archive location so no need to do anything else.

  7. If the release is on the latest development line, update the NiFi website documentation pages for NiFi Registry to match the release.
    - Run the NiFi Registry ${VERSION}
    - Pull down the documentation by running wget -prk http://${host}:${port}/nifi-registry-docs/documentation
    - Rename the file index file that was generated by running mv ${host}:${port}/nifi-registry-docs/documentation ${host}:${port}/nifi-registry-docs/index.html
    - Use svn to replace the nifi and nifi-docs folders in https://svn.apache.org/repos/asf/nifi/site/trunk/docs with those in the ${host}:${port} directory pulled down above

  8. In Jira, mark the ${JIRA_TICKET} resolved. All tickets for the Jira release version should now be resolved or closed.
    Mark the release version for ${VERSION} as 'Released' and 'Archived' using the NiFi Registry Versions management page. 
    This may also be a good time to create a Jira version for the next planned release of ${NEXT_VERSION} (usually the next minor version).

  9. Ensure the release artifacts are successfully mirrored to the archive, specifically https://archive.apache.org/dist/nifi/nifi-registry/nifi-registry-${VERSION}/nifi-registry-${VERSION}-bin.tar.gz.
    If there were any issues with the above listed file not being available, it may be necessary to reach out to the ASF Infra team.

    Info
    titleDocker Image Note
    When the Docker image build is automated (as of this writing, not currently setup for NiFi Registry), then it is triggered by pushing the signed tag in the next step. The release artifacts must be present in the archive before continuing.


  10. Create a proper signed tag of the released codebase based on the RC tag created during the Maven release process.
    For instructions on setting up to sign your tag see: http://gitready.com/advanced/2014/11/02/gpg-sign-releases.html or the Appendix B section below.

    Code Block
    languagebash
    # create the tag in your local repo
    git tag -s rel/nifi-registry-${VERSION} -m "${JIRA_TICKET} signed release tag for approved release of NiFi Registry ${VERSION}" ${RC_TAG_COMMIT_ID}
    
    # push the tag to the ASF repo
    git push asf rel/nifi-registry-${VERSION}


  11. Build the new Docker image based on the artifacts accessible via the archive.apache.org mirror. Tag the image as the current version and latest and push to the official repository. (TODO, expand these instructions for doing this manually or setup automation with ASF Infra as we have to NiFi.)

  12. Update Docker version information for the dockerhub image to point to the next release. For instance, if the ${NEXT_VERSION} is 0.4.0-SNAPSHOT, these values should be updated to 0.4.0, so that at the time of the next release they will reference the correct version number. This currently consists of two files:

    - nifi-registry-core/nifi-registry-docker/dockerhub/Dockerfile, Line 24, and
    - nifi-registry-core/nifi-registry-docker/dockerhub/DockerImage.txt, Line 16.

  13. After the release has been complete for 24 hours send the release announcement email.

    Info
    For an understanding of why you need to wait 24 hours, see: https://www.apache.org/dev/release.html#release-announcements

    TO: announce@apache.org, dev@nifi.apache.org
    REPLY-TO: dev@nifi.apache.org
    FROM: ${RM_USER}@apache.org
    SUBJECT: [ANNOUNCE] Apache NiFi Registry ${VERSION} Release

    BODY:

    Expand
    titleTemplate for email body. Click here to expand...


    No Format
    Hello,
    
    The Apache NiFi team would like to announce the release of Apache NiFi Registry ${VERSION}.
    
    Apache NiFi is an easy to use, powerful, and reliable system to process and distribute data. Apache NiFi was made for dataflow. It supports highly configurable directed graphs of data routing, transformation, and system mediation logic.
    
    Registry, a subproject of Apache NiFi, is a complementary application that provides a central location for storage and management of shared resources across one or more instances of NiFi or MiNiFi.
    
    More details on Apache NiFi Registry, along with release artifacts, can be found here:
    https://nifi.apache.org/registry.html
    
    Maven artifacts have been made available here:
    https://repository.apache.org/content/repositories/releases/org/apache/nifi/registry/
    
    Issues closed/resolved for this list can be found here:
    ${JIRA_RELEASE_NOTES_URL}
    
    Release note highlights can be found here:
    https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-NiFiRegistry${VERSION}
    
    Thank you,
    The Apache NiFi team



...