jenkins-ci: automating lab processes

Post on 18-Dec-2014

1.852 Views

Category:

Science

5 Downloads

Preview:

Click to see full reader

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!

top related