hbase/dev-support/create-release
Sean Busbey a9fefd7f53
HBASE-24297 release scripts should be able to use a custom git repo
* adds a optional -r [repo] arg
* if the passed repo is on the local filesystem, creates a container mount
* when cloning a local repo configure git to share objects with the local repo instead of copying
* when cloning a local repo in a container configure the clone to have a remote that will work back on the host.

closes #1725

Signed-off-by: stack <stack@apache.org>
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2020-05-22 22:24:12 -05: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-24297 release scripts should be able to use a custom git repo 2020-05-22 22:24:12 -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-24297 release scripts should be able to use a custom git repo 2020-05-22 22:24:12 -05: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.