You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

NB! This is still draft with work in progress!

Fineract-CN projects depend on each other. The simplest option is to build them all locally so artifacts are published to local maven repository.

Sometomes still there is need to only work with a single project and resolve the artifacts from public repository. Also in order for travis-ci to build some specific project it needs all the dependencies to be available. For this a JFrog Artifactory has been set up to host these artifacts.


In this artifacotry there are two repositories:

  • libs-release - project releases (currently empty)
  • libs-snapshot - snapshot builds. These are updated every time something new is pushed to git.

In order to use snapshot builds one needs to have following line in repositories list:

repositories {
jcenter()
mavenLocal()
maven

Unknown macro: { url 'https}

}

How snapshots are built

All apache/fineract-cn-* repositories are configured to be built with Travis-CI. Whenever something is pushed to a repository travis tries to run gradle build on it. Travis also detects the current branch that the changes were pushed to.

If travis detects that the changes were pushed to "develop" branch and build doesn't fail then it uploads the new snapshot artifacts to the public repository.


How releases work

Implementation

This is needed if you want to set up a new project or change existing setup.

Configure a new fineract-cn-* project to upload artifacts to artifactory

  • in build.gradle:
    • Add plugin:
      id "com.jfrog.artifactory" version "4.9.5"
    • Add Artifactory plugin
  • Add .travis.yml - travis-ci.com looks for this file
  • There is a username and password configured in artifactory. Either use that or create a new user to Artifactory.
  • Navigate to 

How to encrypt Artifactory username/password


You need command line travis client.

travis encrypt --com -r apache/fineract-cn-reponame ARTIFACTORY_USER=enter-username-here

travis encrypt --com -r apache/fineract-cn-reponame ARTIFACTORY_PASSWORD=enter-password-here

Both times you get instructions to add something to .travis.yml so it looks like this:

env:
global:
- ARTIFACTORY_URL=https://mifos.jfrog.io/mifos
- secure: "b/y76p3PWEkgp..."
- secure: "eSippNzfNod96..."

  • No labels