How to Release
This tutorial describes in detail how to release Apache HertzBeat™.
Before you start: placeholders used in this document
The commands and mail templates below use placeholders. Replace every one of them with your own values before running anything — do not copy and paste as is.
| Placeholder | Meaning | Example |
|---|---|---|
{version} | Release version | 1.9.0 |
RC1 | Release candidate number, starts at 1 and goes up on every re-vote | RC2 |
<YOUR_APACHE_ID> | Your Apache LDAP user name | duansg |
<YOUR_APACHE_ID>@apache.org | Your Apache mail address | duansg@apache.org |
<YOUR_KEY_ID> | Your short GPG key ID, from gpg --keyid-format SHORT --list-keys | EF04C474 |
<YOUR_NAME> | The name you sign mails with | Duan SiGuo |
Command output samples in this document keep concrete values so you can compare the shape of the output; what you see will contain your own key and address.
1. Environmental requirements
This release process is operated in the UbuntuOS(Windows,Mac), and the following tools are required:
- JDK 25
- Node18 pnpm
- Apache Maven 3.x
- GnuPG 2.x
- Git
- SVN (apache uses svn to host project releases)
Pay attention to setting environment variables
export GPG_TTY=$(tty)
2. Preparing for release
First summarize the account information to better understand the operation process, will be used many times later.
- apache id:
<YOUR_APACHE_ID>(APACHE LDAP UserName)- apache passphrase:
APACHE LDAP Passphrase- apache email:
<YOUR_APACHE_ID>@apache.org- gpg real name:
<YOUR_APACHE_ID>(Any name can be used, using the same name as the apache id is recommended)- gpg key passphrase:
The password set when creating the gpg key, you need to remember this password
2.1 Key generation
$ gpg --full-gen-key
gpg (GnuPG) 2.2.27; Copyright (C) 2021 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
(14) Existing key from card
Your selection? 1 # Please enter 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 4096 # Please enter 4096 here
Requested keysize is 4096 bits
Please specify how long the key should be valid.
0 = key does not expire
`<n>` = key expires in n days
`<n>`w = key expires in n weeks
`<n>`m = key expires in n months
`<n>`y = key expires in n years
Key is valid for? (0) 0 # Please enter 0
Key does not expire at all
Is this correct? (y/N) y # Please enter y here
GnuPG needs to construct a user ID to identify your key.
Real name: <YOUR_APACHE_ID> # Please enter 'gpg real name'
Email address: <YOUR_APACHE_ID>@apache.org # Please enter your apache email address here
Comment: apache key # Please enter some comments here
You selected this USER-ID:
"muchunjin (apache key) [muchunjin@apache.org](mailto:muchunjin@apache.org)"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O # Please enter O here
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
# At this time, a dialog box will pop up, asking you to enter the key for this gpg.
# you need to remember that it will be used in subsequent steps.
┌─────────────────────────────────────────────────────┐
│ Please enter this passphrase to │
│ protect your new key │
│ │
│ Passphrase: _______________________________________ │
│ │
│ `<OK>` `<Cancel>` │
└─────────────────────────────────────────────────────┘
# Here you need to re-enter the password in the previous step.