Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: More details added for each step, build updated

...

Excerpt

This page intended to give some instructions for a release manager who is not familiar with Release Process internals.

It is step-by-step instruction for Ignite 2.x releases.

...

Expand

Following setup is performed only once.  Check README.txt from https://github.com/apache/ignite-release/tree/master/scripts This readme file contains some additional requirement and setup steps.


1. If you don’t have your Apache key set up, please see https://www.apache.org/dev/openpgp.html#home on how to generate a new key.

Steps to be followed:

  • Setup gpg home (optional) and configuration file (gpg.conf) according to the page.
  • Check version and settings using `gpg --version` (version >1.4.1, SHA512 is recommended).
  • Generate new key pair `gpg --gen-key` Parameters: RSA/4096/never expires/use your name and apache email/comment: `CODE SIGNING KEY`. Let's suppose generated key name is 612654F7.
  • Check preferences using `gpg --edit-key 612654F7` and sub-command `showpref`

2. Export key to Apache SVN. See section 'Create/Import your pgp secret key' in Readme.txt in https://github.com/apache/ignite-release/tree/master/scripts

  • Make sure you have SVN client. You can install TortoiseSVN for convenience (don’t forget to select command line tools for having svn executable). Alternatively, you can install SVN package from https://subversion.apache.org/packages.html

Steps to be followed:


No Format
gpg --list-sigs 612654F7 >> KEYS
gpg --armor --export 612654F7 >> KEYS


Preparation Steps:

Following section describes phase 4-Voting of Release Process.

    1. Run [RELEASES] Apache Ignite / Main [1] Release Build for ignite-x.y or for ignite-x.y.z. branch. You will need to enter version number (value if x.y.0 or x.y.z), and specify release candidate number. For testing purposes it is recommended to use rc0. You may several times re-build same rc- number.Run [Prepare Vote #1] Java &.Net & C++ (Complete assembly) for ignite-x.x branch

    2. Download and unzip release archive. It can be found at "Artifacts " tab on build page.



      Code Block
      languagebash
      themeRDark
      linenumberstrue
      dragon:~/download:[]$ unzip release-2.7.0-rc0.zip

      3. Run vote scripts:

      You may skip step 1 & step 2 in case you want to run some testing of release. In case release build it made for testing purposes, go to step 3 in this section.
      Step 1:

      Code Block
      languagebash
      themeRDark
      dragon:~/download/release:[]$ ./vote_1\[git\]create_rc_tag.sh 
      Preparing vote 2.7.0-rc0
      Removing obsolete tag...
      2.7.0
      -rc0
      Deleted tag '2.7.0-rc0' (was b2119988f0)
      Username for 'https://git-wip-us.apache.org': nizhikov
      Password for 'https://nizhikov@git-wip-us.apache.org': 
      To https://git-wip-us.apache.org/repos/asf/ignite
       - [deleted]               2.7.0-rc0
      On branch master
      Your branch is ahead of 'my/master' by 2 commits.
        (use "git push" to publish your local commits)
      
      nothing to commit, working tree clean
      Creating new tag...
      Username for 'https://git-wip-us.apache.org': nizhikov
      Password for 'https://nizhikov@git-wip-us.apache.org': 
      Counting objects: 1, done.
      Writing objects: 100% (1/1), 166 bytes | 166.00 KiB/s, done.
      Total 1 (delta 0), reused 0 (delta 0)
      To https://git-wip-us.apache.org/repos/asf/ignite
       * [new tag]               2.7.0-rc0 -> 2.7.0-rc0
       
      ======================================================
      RC tag should be created.
      Please check results at 
      https://git-wip-us.apache.org/repos/asf?p=ignite.git;a=tags
      

      Please, check corresponding git tag is created.
      Step 2:
      Note: If you've already uploaded stagin release, you should remove it from nexus - https://repository.apache.org/#stagingRepositories

      Code Block
      languagebash
      themeRDark
      dragon:~/download/release:[]$ ./vote_2\[mvn\]\[pgp\]deploy_to_staging.sh 
      Preparing vote 2.7.0-rc0
      Uploading ./org/apache/ignite/ignite-spark (1 of 53).
      Uploading ./org/apache/ignite/ignite-clients (2 of 53).
      
      ...
      Uploading ./org/apache/ignite/ignite-mqtt (53 of 53).
      Uploaded
       
      ======================================================
      Maven staging should be created
      Please check results at
      https://repository.apache.org/#stagingRepositories
      Don't forget to close staging with proper comment

      Step 3:
      Note: This script is locale specific. You should execute it on the en locale

      Code Block
      languagebash
      themeRDark
      
      dragon:~/download/release:[]$ ./vote_3_step_1\[packages\]build.sh 
      ...
      
      dpkg-deb: building package 'apache-ignite' in '../apache-ignite_2.7.0-1_all.deb'.
      copied '/tmp/tmp.rEePHrMMWU/apache-ignite_2.7.0-1_all.deb' -> '/home/dragon/download/release/packaging/apache-ignite_2.7.0-1_all.deb'
      удалён '/tmp/tmp.rEePHrMMWU/apache-ignite_2.7.0-1_all.deb'
      Removing temporary work directories: /tmp/tmp.rEePHrMMWU 
      
      === Run time: 0h:00m:36s ===
      
      packaging/apache-ignite-2.7.0-1.noarch.rpm:
      Processing packaging/apache-ignite_2.7.0-1_all.deb...
      gpg: все значения, переданные в '--default-key', игнорируются
      Signed deb packaging/apache-ignite_2.7.0-1_all.deb
      mkdir: создан каталог 'packaging/pkg'
      renamed 'packaging/apache-ignite-2.7.0-1.noarch.rpm' -> 'packaging/pkg/apache-ignite-2.7.0-1.noarch.rpm'
      renamed 'packaging/apache-ignite_2.7.0-1_all.deb' -> 'packaging/pkg/apache-ignite_2.7.0-1_all.deb'
      
      
      dragon:~/download/release:[]$ ./vote_3_step_2\[pgp\]sign_artifacts.sh 
      # Starting GPG Agent #
      Signing ./svn/vote/apache-ignite-fabric-2.7.0-bin.zip
      Signing ./svn/vote/apache-ignite-2.7.0-src.zip
      Signing ./svn/vote/apache-ignite-hadoop-2.7.0-bin.zip
      Signed OK.
       
      ===============================================
      Artifacts should be signed
      Please check results at ./svn/vote
      Each file should have corresponding *.asc file
      
      NOTE: Package files are not signed because they
      are meant to be stored in Bintray
      
      
      dragon:~/download/release:[]$ ./vote_3_step_3\[svn\]deploy_artifacts.sh 
      RC 2.7.0-rc0
      Добавляю  (бинарный)  svn/vote/apache-ignite-2.7.0-src.zip
      Добавляю          svn/vote/apache-ignite-2.7.0-src.zip.asc
      Добавляю          svn/vote/apache-ignite-2.7.0-src.zip.sha512
      Добавляю  (бинарный)  svn/vote/apache-ignite-fabric-2.7.0-bin.zip
      Добавляю          svn/vote/apache-ignite-fabric-2.7.0-bin.zip.asc
      Добавляю          svn/vote/apache-ignite-fabric-2.7.0-bin.zip.sha512
      Добавляю  (бинарный)  svn/vote/apache-ignite-hadoop-2.7.0-bin.zip
      Добавляю          svn/vote/apache-ignite-hadoop-2.7.0-bin.zip.asc
      Добавляю          svn/vote/apache-ignite-hadoop-2.7.0-bin.zip.sha512
      Committing transaction...
      Committed revision 29664.
      Добавляю  (бинарный)  packaging/pkg/apache-ignite-2.7.0-1.noarch.rpm
      ...
      
      
      
      
      


    3. Compare with previous release:
      There are TC task to generate report with difference comparing current release with previous.

      https://ci.ignite.apache.org/viewType.html?buildTypeId=ApacheIgniteReleaseJava8_IgniteRelease72CheckFileConsistency
      You should run it and do sanity check for a changed files.
    4. See "Artifacts" tab to get task results.

...