ClientAPI icon indicating copy to clipboard operation
ClientAPI copied to clipboard

CI and automatic maven deployment

Open LeafHacker opened this issue 8 years ago • 1 comments

ClientAPI should setup Continuous Integration (e.g. TravisCI, Jenkins, etc) to test commits/PRs and automatically deploy artefacts to a maven repo and GitHub releases.

It probably also makes sense to use a "proper" maven repo that can integrate nicely with CI artefact deployment.

I don't have any suggestions for a maven provider, but I know there are free ones available for OSS that use worldwide CDNs to speed up download.

This will go well with #17 as the CDK zip along with release jars would be automatically uploaded to a GH Release as soon as a commit is tagged.

LeafHacker avatar Aug 13 '17 11:08 LeafHacker

For GitHub Releases, @ZeroMemes will need to install the travis CLI client and run travis setup releases (and commit the changes to travis.yml). This will upload the listed files to the github release when a tag is added to the repo. See travis docs

For maven deployment, the best option seems to be packagecloud (the competition is JFrog, which seems far more complicated). It Integrates nicely with travis, maven and gradle and has some fairly nice docs (travis also have some packagecloud docs). It has large data caps, free OSS hosting and a global CDN.


It's probably also worth reading the travis security tips, mostly to avoid leaking access tokens without first passing them through travis's encryption.

LeafHacker avatar Aug 15 '17 01:08 LeafHacker