Your SlideShare is downloading. ×
Supermondays: Jenkins CI lightning talk
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Supermondays: Jenkins CI lightning talk

1,834
views

Published on

A brief introduction to Jenkins Continuous Integration Tool; a 5 minute lightning talk for the SuperMondays community.

A brief introduction to Jenkins Continuous Integration Tool; a 5 minute lightning talk for the SuperMondays community.

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,834
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
38
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Jenkins Continuous Integration
    A quick overview of Jenkins CI
    Michael Peacock@michaelpeacockmichaelpeacock.co.uk
  • 2. Continuous What?
    Automated build and test process to verify a software / website / web app build
    Quality Assurance applied continually during development
    continuous integration (CI) implements continuous processes of applying quality control — small pieces of effort, applied frequently. Continuous integration aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development.*
    * http://en.wikipedia.org/wiki/Continuous_integration
  • 3. Jenkins!
  • 4. Jenkins...
    Built with Java
    Provides its own web based interface – doesn’t interfere with your Apache installation
    Recommendation: install Continuous Integration stuff on a separate server – processing lots of builds could get resource intensive
    Available for Windows, Mac and Linux
  • 5. Installation
    Add the Jenkins repository key to aptitude
    wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add –
    Add the repository to your sources file
    sudo nano /etc/apt/sources.list
    deb http://pkg.jenkins-ci.org/debian binary/
    sudo apt-get update
    Install
    sudo apt-get install jenkins
  • 6. Modular
  • 7. Works with version control systems
    SVN
    Git
    Mercurial
    CVS
  • 8. Ant
    Should be familiar to Java programmers...
    Makes it really easy to:
    Move, copy, delete, rename files and folders – use it to move files around after checking out from version control e.g. Swap in a test config file
    Run commands / programs on the code – such as unit testing, code sniffing and generating documentation
    Built in to Jenkins out of the box
  • 9. Testing
    Automatically run your unit tests
    Find a plugin
    Get ant to run your tests by executing commands
    Build fails if tests fail
    <target name="phpunit" description="Run unit tests using PHPUnit and generates junit.xml and clover.xml"> <exec executable="phpunit" failonerror="true"/> </target>
    <target name="phpunit" description="Run unit tests using PHPUnit and generates junit.xml and clover.xml"> <exec executable="phpunit" failonerror="true"/> </target>
    <target name="phpunit" description="Run unit tests using PHPUnit and generates results as XML files"> <exec executable="phpunit" failonerror="true"/> </target>
  • 10.
  • 11. http://www.buildsonmymachine.com/
  • 12. Weather Report
  • 13.
  • 14. You broke the build
    Stigmatises breaking the build
    Helps “encourage” / bully developers into better quality work
  • 15. http://www.youbrokethebuild.com/
  • 16. Record keeping
    What changed in the build?
  • 17. Pipeline
    Chain Jenkins jobs together, triggering others (e.g. deployment) only when the first job builds successfully, ensures only tested and quality code goes online
    https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin
    (no screenshots, because I couldn’t get it to work  )
  • 18. Deployment
    Plug Jenkins into your deployment process
    Copy files over FTP
    Copy files over SSH
    Execute commands on a remote server
    Tell the web server that the new site has been copied across and is ready for use
  • 19. Improve
    Improve the quality of your code
    Automate your:
    Testing
    Quality Assurance process
    Deployment to development areas
    Deployment to live environment (through pipeline)
    Keep clients happier!
  • 20. Any questions?
    http://jenkins-ci.org/
    http://bit.ly/jenkinsciphp
    Michael Peacock
    @michaelpeacock
    www.michaelpeacock.co.uk

×