Bootique release automation tools prototype.
-
Create file
release-manager.ymlwith config. Template of this file is release-manager-sample.yml. -
Generate your personal access token on GitHub. Set gitHubToken variable in config file.
-
Install GPG Suite
- Generate your GPG key.
- Add key to keychain to prevent password request for every module.
-
Create folder to have local copy of releasing project. Set basePath variable in config file.
-
Setup an SSH key to access repositories on the GitHub. It is used both for cloning and for the commits and tags
release:preparepushes — the released modules declarescm:git:ssh://git@github.com/..., so there is no HTTPS path through a release. Verify with:ssh -T git@github.com
If the key has a passphrase, make sure an ssh-agent holds it, since the tool runs
gitnon-interactively.Repositories cloned by an older version of this tool have an HTTPS
originand keep using it. To convert them, run once in your basePath:for d in */; do git -C "$d" remote set-url origin "git@github.com:bootique/${d%/}.git" done
-
Create
.m2/settings.xmland add the Central repo (sonatype-central) credentials. You could get your Sonatype API key at the Central website:<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <servers> <server> <id>sonatype-central</id> <username>API_key_name</username> <password>API_key_password</password> </server> </servers> </settings>
-
On the newer MacOS versions you may need
ssh-askpass:brew tap theseal/ssh-askpass brew install ssh-askpass sudo ln -s /usr/local/bin/ssh-askpass /usr/X11R6/bin/ssh-askpass
-
You may need to tweak
release.shandmaven.shscripts on MacOS to set proper JDK version
$ mvn clean install
$ java --add-opens java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED -jar target/release-1.0-SNAPSHOT.jar
NOTE: --add-opens required for the Jersey Client to be able to send PATCH request
Then just go to http://127.0.0.1:9999/ui/