Skip to end of banner
Go to start of banner

Synapse R Client Deployment, Step by Step

Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

« Previous Version 3 Next »

Background

The Github repository for the R client has two main branches, "develop" and "master".  "Master" contains the series of released versions of the R Client, each tagged according to its version.  "Develop" is the branch for on-going development work.  It is merged into Master when a new version is released.

Builds are done using Jenkins jobs which run at http://georgetown.fhrcr.org.  There are jobs for (1) building the client from the Github repository, (2) deploying clients to Sage's LRAN (depot.sagebase.org) and (3) for testing versions deployed to the LRAN.

Deployment Steps

(NOTE:  Still have to add the step in which we increment the 'latest version' information in versions.synapse.sagebase.org.)

To deploy a new version of the R client to depot.sagebase.org and verify that it runs againt production Synapse:
- clone Sage-Bionetworks/rSynapseRepository
- switch to the develop branch
    git checkout develop
- set the version for the new release, by editing the "Version:" field in the DESCRIPTION file
- push to Github
    git push origin develop
- go to the Jenkins dashboard (http://georgetown.sagebase.org:8080) and verify that the "rSynapseClient-develop" job completed successfully
- merge from develop to master
    git checkout master
    git merge develop
- tag master with the latest version
    TODO:  command?
- In Jenkins, run rSynapseClient-master-artifact, and verify that it completes successfully
- In Jenkins, run deploy-rSynapseClient-master, and verify that it completes successfully
- In Jenkins, run "R-Client IntegrationTests-prod" and verify that it completes successfully

 

 

References

R documentation

A wickedly-basic high-level intro, including some basics on setting up your own LRAN:
The "bible" for R package developers. No one should be allowed to contribute to our R packages without first reading this:
If you really want to be an R pro, you might read the rest of the docs here:
Topical user contributed docs are also available:

bash

With some basic bash scripting knowledge, the purpose of the Jenkins jobs that use shell scripts will be pretty obvious:

Jenkins

I found Jenkins to be simple and self-explanatory, so didn't read any of it's documentation. If after messing with it, you still find yourself to be confused, you might try some of their online tutorials:

 

  • No labels