hbase/dev-support/create-release
Nick Dimiduk 90b339a4f2
HBASE-24567 Create release should url-encode all characters when building git uri
By default, `urllib.quote` will skipp over `/` characters, which are
valid for use in passwords.

Signed-off-by: stack <stack@apache.org>
Signed-off-by: Matt Foley <mattf@apache.org>
2020-06-22 15:22:21 -07:00
..
hbase-rm HBASE-24296 install yetus as a part of building the rm docker image. 2020-05-22 22:24:03 -05:00
README.txt HBASE-24318 Create-release scripts fixes and enhancements (#1643) 2020-05-09 10:46:41 -05:00
do-release-docker.sh HBASE-24458 release scripts using docker should specify needed disk consistency 2020-06-04 19:33:44 -05:00
do-release.sh HBASE-24296 install yetus as a part of building the rm docker image. 2020-05-22 22:24:03 -05:00
release-build.sh HBASE-24297 release scripts should be able to use a custom git repo 2020-05-22 22:24:12 -05:00
release-util.sh HBASE-24567 Create release should url-encode all characters when building git uri 2020-06-22 15:22:21 -07:00
vote.tmpl HBASE-24318 Create-release scripts fixes and enhancements (#1643) 2020-05-09 10:46:41 -05:00

README.txt

Entrance script is _do-release-docker.sh_. Requires a local docker;
for example, on mac os x, Docker for Desktop installed and running.

For usage, pass '-h':

 $ ./do-release-docker.sh -h

To run a build w/o invoking docker (not recommended!), use _do_release.sh_.

Both scripts will query interactively for needed parameters and passphrases.
For explanation of the parameters, execute:
 $ release-build.sh --help

Before starting the RC build, run a reconciliation of what is in
JIRA with what is in the commit log. Make sure they align and that
anomalies are explained up in JIRA.

See http://hbase.apache.org/book.html#maven.release

Running a build on GCE is easy enough. Here are some notes if of use.
Create an instance. 4CPU/15G/10G disk seems to work well enough.
Once up, run the below to make your machine fit for RC building:

# Presuming debian-compatible OS
$ sudo apt-get install -y git openjdk-8-jdk maven gnupg gnupg-agent
# Install docker
$ sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg2 \
    software-properties-common
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$ sudo add-apt-repository -y \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"
$ sudo apt-get update
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
$ sudo usermod -a -G docker $USERID
# LOGOUT and then LOGIN again so $USERID shows as part of docker group
# Copy up private key for $USERID export from laptop and import on gce.
$ gpg --import stack.duboce.net.asc
$ export GPG_TTY=$(tty) # https://github.com/keybase/keybase-issues/issues/2798
$ eval $(gpg-agent --disable-scdaemon --daemon --no-grab  --allow-preset-passphrase --default-cache-ttl=86400 --max-cache-ttl=86400)
$ export PROJECT="${PROJECT:-hbase}"
$ git clone https://github.com/apache/${PROJECT}.git
$ cd "${PROJECT}"
$ mkdir ~/build
$ ./dev-resources/create-release/do-release-docker.sh -d ~/build
# etc.