jenkins-ci: automating lab processes

21
Department of Bioinformatics - BiGCaT 1 Jenkins-CI automating lab processes Science Cafe Maastricht, 2 October 2014

Upload: egon-willighagen

Post on 18-Dec-2014

1.849 views

Category:

Science


5 download

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

Page 1: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 1

Jenkins-CI

automating lab processes

Science Cafe

Maastricht, 2 October 2014

Page 2: Jenkins-CI: automating lab processes

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...

Page 3: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 3

What is Jenkins-CI?

Page 4: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 4

Just software? No.

• “Jenkins High throughput Screening”

Page 5: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 5

Just software? No.

• “Jenkins High throughput Screening”

Page 6: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 6

Page 7: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 7

Jenkins 4 BiGCaT

Page 8: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 8

BridgeDb: alternative builds

• Ant + Maven• Branches• R package

– builds when ...

Page 9: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 9

PathVisio plugins

• Recompile for every new PathVisio build

Page 10: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 10

What if the build fails?

Page 11: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 11

Unit / regression / ... testing?

Page 12: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 12

Computer-Assisted WikiPathways Curation

Page 13: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 13

Detect common problems

Page 14: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 14

What problems?

Page 15: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 15

Example “error message”

Page 16: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 16

Source code

Page 17: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 17

Jenkins 4 eNanoMapper

Page 18: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 18

Ontology integration & testing

Page 19: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 19

Page 20: Jenkins-CI: automating lab processes

Department of Bioinformatics - BiGCaT 20

User Authentication

• BiGCaT– unimaas!

• Jenkins– OpenTox LDAP

Page 21: Jenkins-CI: automating lab processes

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!