jenkins-ci: automating lab processes
DESCRIPTION
Jenkins, a digital butler, is a web site platform that supports automation of processes. While originally developed to compile software, its flexibility allows for a wide variety of processes to be automated. In this Science Cafe I will show how I am using Jenkins in my daily scientific research, supporting some repetitive tasks I no longer have to do manually. For example, it compile a wide range of software tools, including BridgeDb, PathVisio plugins, R packages, the Chemistry Development Kit, and other libraries. It is important to note, that Jenkins will attempt to recompile these software libraries each time a change is made. In fact, it will email me, if it failed to compile. But besides building these tools, it also automatically runs test suites, that find regressions, caused by unexpected side effects (or by many other reasons). Furthermore, Jenkins is not limited to software. Of course, automation needs something a computer can execute, but this need not be compiling and testing of source code alone. I will also show how I use Jenkins to daily create RDF versions of WikiPathways, and how I use this for automated curation of WikiPathways content. I will also show how we use Jenkins in the EU FP7 eNanoMapper project for ontology development.TRANSCRIPT
Department of Bioinformatics - BiGCaT 1
Jenkins-CI
automating lab processes
Science Cafe
Maastricht, 2 October 2014
Department of Bioinformatics - BiGCaT 2
CI := Continuous Integration
• Continuous– Automation: while you write grants or
teach– Reactive: when people commit changes
• Integration– Compile starts when something else
(successfully) compiled– Plugins...
Department of Bioinformatics - BiGCaT 3
What is Jenkins-CI?
Department of Bioinformatics - BiGCaT 4
Just software? No.
• “Jenkins High throughput Screening”
Department of Bioinformatics - BiGCaT 5
Just software? No.
• “Jenkins High throughput Screening”
Department of Bioinformatics - BiGCaT 6
Department of Bioinformatics - BiGCaT 7
Jenkins 4 BiGCaT
Department of Bioinformatics - BiGCaT 8
BridgeDb: alternative builds
• Ant + Maven• Branches• R package
– builds when ...
Department of Bioinformatics - BiGCaT 9
PathVisio plugins
• Recompile for every new PathVisio build
Department of Bioinformatics - BiGCaT 10
What if the build fails?
Department of Bioinformatics - BiGCaT 11
Unit / regression / ... testing?
Department of Bioinformatics - BiGCaT 12
Computer-Assisted WikiPathways Curation
Department of Bioinformatics - BiGCaT 13
Detect common problems
Department of Bioinformatics - BiGCaT 14
What problems?
Department of Bioinformatics - BiGCaT 15
Example “error message”
Department of Bioinformatics - BiGCaT 16
Source code
Department of Bioinformatics - BiGCaT 17
Jenkins 4 eNanoMapper
Department of Bioinformatics - BiGCaT 18
Ontology integration & testing
Department of Bioinformatics - BiGCaT 19
Department of Bioinformatics - BiGCaT 20
User Authentication
• BiGCaT– unimaas!
• Jenkins– OpenTox LDAP
Department of Bioinformatics - BiGCaT 21
Big thanks Nuno!
PS. this presentation show what Jenkins can do. All things running as jobs are work from others. Make sure to follow
the links to the GitHub projects for many of these jobs to see the heroes of that
project!