continuous integration and php 1203717119983797 3

Upload: joel-serino

Post on 10-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    1/34

    improve your development processContinuous Integration and PHP

    Arno SchneiderSystem Architect

    Project Lead of Xinc

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    2/34

    Continuous Integration and PHP

    Introduction

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    3/34

    Continuous Integration and PHP

    Topics of this Presentation

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    4/34

    Continuous Integration and PHP

    What is Continuous Integration?

    What is Integration?

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    5/34

    Continuous Integration and PHP

    What is Continuous Integration?

    Short Summary

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    6/34

    Continuous Integration and PHP

    What is Continuous Integration?

    A common process without Continuous Integration

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    NumberofBu

    gs

    undetected bugs

    Project Timeline

    Development Phase Testing PhaseIntegration Phase

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    7/34

    Continuous Integration and PHP

    What is Continuous Integration?

    Workflow for Developers first step towards CI

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Checkout / Update

    Develop

    Local testing

    Update WC

    Resolve / Testing

    Commit

    Receive

    Build Result

    !

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    8/34

    Continuous Integration and PHP

    What is Continuous Integration?

    Development process with Continuous Integration

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23 rd 2008

    NumberofBu

    gs

    Project Timeline

    Development

    Testing / Integration

    Undetected Bugs

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    9/34

    Continuous Integration and PHP

    Using CI to improve your development

    How to get started

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    How do we get from the

    current situation ...

    feeling the pain late and

    suffering more

    .. to a CI controlled

    workflow?suffering the pain earlier

    and have a better product

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    10/34

    Continuous Integration and PHP

    Using CI to improve your development

    How to get started self testing code

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    11/34

    Continuous Integration and PHP

    Using CI to improve your development

    How to get started team development behavior

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    C i I i d PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    12/34

    Continuous Integration and PHP

    Using CI to improve your development

    How to get started configuration control / automated deployment

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    C ti I t ti d PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    13/34

    Continuous Integration and PHP

    Using CI to improve your development

    How to get started - Summary

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    C ti I t ti d PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    14/34

    Continuous Integration and PHP

    Continuous Integration Servers

    Workflow with CI Server

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    15/34

    Continuous Integration and PHP

    Continuous Integration Servers

    Benefits

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    16/34

    Continuous Integration and PHP

    Continuous Integration Servers

    CruiseControl + phpUnderControl

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    17/34

    Continuous Integration and PHP

    Continuous Integration Servers

    CruiseControl + phpUnderControl

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    18/34

    Continuous Integration and PHP

    Continuous Integration Servers

    Xinc Is Not CruiseControl

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    19/34

    Continuous Integration and PHP

    Continuous Integration Servers

    Xinc Is Not CruiseControl

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    20/34

    Continuous Integration and PHP

    Continuous Integration Servers

    Basic Comparison CC vs. Xinc for CI in PHP

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Execution Platform JVM PHP

    Installer Windows Installer / Zip File PEAR

    Preferred Build Tools ant, maven

    Other Supported Build Tools

    SCM support

    Supported Project Langua ges anything that ant can build PHP

    Jetty Apache (preferred)

    XSL, JSP, Java

    CruiseControl Xinc

    phing

    phing (unstable integration) ...

    cvs, svn, perforce ... svn

    Web F rontend

    Extendible through Xinc Plugins (PHP)

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    21/34

    Continuous Integration and PHP

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Xinc CI Server for PHP

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    22/34

    Continuous Integration and PHP

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Xinc Project Config - /etc/xinc/conf.d/xinc.xmldefining the change lookup interval:checking every 5 minutes

    checking modifications on svn:

    update the WC if change detected

    set of builders to be run:

    a project can have several builders

    set of publisher to be run:

    general, onfailure, onsuccess, onrecovery

    Xinc CI Server for PHP

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    23/34

    Continuous Integration and PHP

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Xinc Project Config - /etc/xinc/conf.d/xinc.xml

    phingbuilder:

    calling a phing build script

    Xinc CI Server for PHP

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    24/34

    g

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Xinc Project Config - /etc/xinc/conf.d/xinc.xml

    on failure publisher:

    sending out an email for the failed build

    Xinc CI Server for PHP

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    25/34

    g

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Xinc Project Config - /etc/xinc/conf.d/xinc.xml

    on success publisher:

    make the pear package available for download

    Xinc CI Server for PHP

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    26/34

    g

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Xinc CI Server for PHP

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    27/34

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Xinc CI Server for PHP

    Checking the build results on the web interface

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    28/34

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    build status summary:

    status, build time, build label

    complete build history:

    access historical builds

    build log message:

    displaying info about build steps

    Xinc CI Server for PHP

    Checking the build results on the web interface

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    29/34

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    project access:

    overview of projects

    modification summary:

    showing the number of modified files

    commit logs:

    showing the last comments for the change

    registered artifacts:downloads, reports, documentation

    Xinc CI Server for PHPChecking the build results on the web interface

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    30/34

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    PHPUnit test results:

    registered as an artifact

    Xinc CI Server for PHPChecking the build results on the web interface

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    31/34

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Code Coverage Results:

    registered as an artifact

    Xinc CI Server for PHPChecking the build results on the web interface

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    32/34

    Xinc CI Server for PHPFuture of Xinc Where is it heading to?

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

    Continuous Integration and PHP

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    33/34

    LinksWhere can I find more information?

    improve your development processArno Schneider @Barcelona PHP Conference, Feb. 23rd 2008

  • 8/8/2019 Continuous Integration and Php 1203717119983797 3

    34/34

    Thank you for your attention

    Muchas gracias por su atencin!