SlideShare a Scribd company logo
One Click Deployment with Jenkins


Florian Anderiasch / Thorsten Rinne
PHP Unconference 201 Hamburg
                      1,




                                      © 201 Mayflower GmbH
                                           1
DevOp
„I rant a lot“

@anderiasch      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 2
Team Lead / Scrum Master
Head of Open Source Labs

@ThorstenRinne             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 3
Who are you?




       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 4
Developers?




       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 5
Administrators?




         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 6
DevOps?




     Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 7
Continuous Integration?




             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 8
How much time do you
 need for a release?


           Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 9
More than a year?




          Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 10
6 - 12 months?




         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 11
1 - 6 months?




        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 12
2 - 4 weeks?




        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 13
1 - 14 days?




        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 14
1 - 24 hours?




        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 15
Less than 15 minutes?




            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 16
15 Minutes!




       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 17
Why One Click
Deployment?


        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 18
Everything is getting faster.




                Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 19
Faster feedback from
your customer / user




            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 20
Faster ROI
(return on invest)



           Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 21
Faster response
if the market changes
                 Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 22
Developers are lazy.
            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 23
Basic requirements




           Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 24
Agile software
 development


         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 25
Scrum or Kanban




         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 26
Test Driven Development




             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 27
Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 28
Continuous Integration




             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 29
Continuous Inspection




            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 30
Refactoring




       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 31
Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 32
Scrum
Kanban




         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 32
Scrum   Continuous
Kanban   Integration




                 Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 32
Scrum   Continuous Continuous
Kanban   Integration Inspection




                Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 32
Scrum   Continuous Continuous
Kanban   Integration Inspection




Continuous Deployment
                Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 32
Things you don‘t want.




             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 33
Having your SVN repo in
your webserver‘s docroot.


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 34
Using SSH and vi and your
 root account on the live
      server. Never.

              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 35
Who‘s still doing this? :-)




                Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 36
Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 37
What do we need?




         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 38
First: a central build server




                 Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 39
Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 40
Continous Testing with
      PHPUnit


             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 41
Advantages




      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 42
Test results at one central
           page


               Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 43
Software metrics at one
     central page


             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 44
Errors can be identified
  fast and then fixed
             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 45
Awareness




      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 46
Awareness!
      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 47
Continuous Integration in
      PHP projects


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 48
PHPUnit
DocBlox


     Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 49
Continuous Inspection in
      PHP projects


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 50
PHPCS
PHP Depend
  PHPMD
  phpcpd
   jslint
      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 51
jslint?
 yes!


      Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 52
Infrastructure




         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 53
Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 54
Developer VM
Ubuntu 11.04


       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 55
Testing VM + Jenkins VM:
      Ubuntu 11.04


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 56
Staging VMs:
  Frontend: Ubuntu 11.04
Backend: Ubuntu 10.04 LTS


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 57
amazon AWS live:
  Frontend: Ubuntu 11.04
Backend: Ubuntu 10.04 LTS

              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 58
Front Nodes
      Varnish
       nginx
 PHP 5.3 with APC
Zend Framework 1.1  1
   dojo toolkit 1.6
    Doctrine 2.1
            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 59
Backend Nodes
MySQL Master/Slave
   Apache Solr
 PHP 5.3 with APC
    RabbitMQ
     ejabberd
          Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 60
Development workflow




           Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 61
1. git workflow
$ git   add Foo.php
$ git   commit -m ″Bar″
$ ant   jslint
$ ant   phpunit
  ...
$ git   push

               Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 62
2. Post commit hook


Build triggered on Jenkins



                Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 63
Jenkins build checks



            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 64
1. PHPUnit Build:
         Unittests
Controller Tests (Zend_Test)
  PHP Code Coverage

                Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 65
2. Debian Package Build



             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 66
3. Deploy to staging
4. Deploy staging to live


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 67
What is a build process?



              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 68
ant sync
  ant clean
ant db-update
  parallelTasks:
 ant phpunit
  ant phpcb
   ant deb
         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 69
ant phpunit
<target
  name="phpunit"
  depends="db-test"
  description="Run all tests">
  <exec executable="phpunit"
        failonerror="true">
    <arg line="--configuration $
{basedir}/tests/phpunit-verbose.xml $
{basedir}/tests/AllTests.php" />
  </exec>
</target>


                        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 70
parallelTasks:
php_depend
   phpmd
  phpunit
   phpcpd
   phpcs
   jslint
         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 71
Build Debian Package
ant autoloader
  ant phpunit
    ant clean
 ant compilejs
ant compilecss
            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 72
ant deb (I)
<target
   name="deb"
   depends="autoloader,phpunit-
coverage,clean,autoloader,compilejs,compi
lecss"
   description="Generate Debian package">
   <exec executable="gpg">
     <arg value="--armor" />
     <arg value="--import" />
     <arg value="scripts/build/deb/
mapolis.mayflower.de.pgp" />
   </exec>
   <buildnumber />

                        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 73
ant deb (II)
<exec executable="git"
      outputproperty="githash">
  <arg value="describe" />
  <arg value="--always" />
  <arg value="--match" />
  <arg value="" />
</exec>
<touch file="debian/changelog" />
<move file="debian/changelog"
      tofile="debian/changelog.old" />




                     Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 74
ant deb (III)
   <exec executable="git"
         output="debian/changelog.new">
     <arg value="log" />
     <arg value="-n" />
     <arg value="1" />
     <arg value='--format=format:mapolis-
web (${build.number}-${githash})
unstable; urgency=low%n%n * %s%n%n --
%an &lt;%ae&gt; %aD%n%n' />
   </exec>




                        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 75
ant deb (IV)
<concat destfile="debian/changelog">
  <fileset
   file="debian/changelog.new" />
  <fileset
   file="debian/changelog.old" />
</concat>
<delete file="debian/changelog.new" />
<delete file="debian/changelog.old" />




                     Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 76
ant deb (V)
   <exec executable="dpkg-buildpackage">
     <arg value="-b" />
     <arg value="-v${build.number}-$
{githash}" />
     <arg value="-Zlzma" />
     <arg value="-z9" />
     <arg value="-k78532445" />
     <arg value="-pgpg" />
     <arg value="-sgpg" />
     <arg value="-mMayflower Mapolis Team
&lt;mapolis@mayflower.de&gt;" />
   </exec>


                        Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 77
ant deb (VI)
  <move todir="build/deb/">
   <fileset dir="${basedir}/../">
     <include name="mapolis*.deb" />
     <include name="mapolis*.changes" />
   </fileset>
  </move>
  <exec executable="dpkg-buildpackage">
     <arg value="-Tclean" />
  </exec>
</target>




                       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 78
Deploy Staging
     ant clean
   ant deb-sign
ant db-staging-up
scp to all hosts


          Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 79
Deploy Staging to live
scp to all hosts




             Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 80
Disadvantages and
    problems


          Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 81
Build time
15 min on harddisk
  massive disk i/o
4 min on ramdisk :-)

            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 82
Complexity beginning such
    a infrastructure


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 83
Jenkins:
Single point of failure!


              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 84
Cool stuff
which is now possible


            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 85
Deploy by customer. :-)
              Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 86
Jenkins Chuck Norris Plugin



                Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 87
git bisect start
   $BAD $GOOD


         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 88
Minimum time from
bugreport to deploy:
    30 minutes


            Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 89
$ git branch hotfix-2011-08-22
$ git checkout hotfix-2011-08-22
$ git reset --hard "last stable sha-1"
$ git cherry-pick "hotfix sha-1"
$ echo build.number=23 > build.number
$ ant deb
$ scp build/deb/*.deb xyz.amazonaws.com:/
opt/repository/
$ git checkout master
$ git push origin hotfix-2011-08-10




                         Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 90
Questions?




       Continuous Improvement in PHP Projects I   Mayflower GmbH I 25th February I 91
Thank you very much for your attention!




Contact   Florian Anderiasch              Thorsten Rinne
          florian.anderiasch@mayflower.de   thorsten.rinne@mayflower.de
          +49 89 242054-1   134           +49 89 242054-31

          Mayflower GmbH                   Mayflower GmbH
          Mannhardtstr. 6                 Mannhardtstr. 6
          80538 München                   80538 München
          Germany                         Germany



                                                                       © 201 Mayflower GmbH
                                                                            1

More Related Content

What's hot

Develop and Deploy Outside the Repo
Develop and Deploy Outside the RepoDevelop and Deploy Outside the Repo
Develop and Deploy Outside the Repo
afragen
 
Feedback en continu grâce au TDD et au AsCode
Feedback en continu grâce au TDD et au AsCodeFeedback en continu grâce au TDD et au AsCode
Feedback en continu grâce au TDD et au AsCode
Haja R
 
Git with t for teams
Git with t for teamsGit with t for teams
Git with t for teams
Sven Peters
 
5 steps for successful automation with Hiptest
5 steps for  successful automation with Hiptest5 steps for  successful automation with Hiptest
5 steps for successful automation with Hiptest
Community Manager @Hiptest
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
Atlassian
 
DevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps DisasterDevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps Disaster
Bert Jan Schrijver
 
JavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disasterJavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disaster
Bert Jan Schrijver
 
TuleapCon 2019. DevOps in Tuleap
TuleapCon 2019. DevOps in TuleapTuleapCon 2019. DevOps in Tuleap
TuleapCon 2019. DevOps in Tuleap
Tuleap
 
Gear up for Continuous Integration with Salesforce DX, Circle CI and Clayton
Gear up for Continuous Integration with Salesforce DX, Circle CI and ClaytonGear up for Continuous Integration with Salesforce DX, Circle CI and Clayton
Gear up for Continuous Integration with Salesforce DX, Circle CI and Clayton
Daniel Stange
 
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
César Hernández
 
Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End Testing
Katie Chin
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software Development
Lemi Orhan Ergin
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow Workshop
Syed Imam
 
WordPress Development: Tracking Your Code With Version Control
WordPress Development: Tracking Your Code With Version ControlWordPress Development: Tracking Your Code With Version Control
WordPress Development: Tracking Your Code With Version Control
Sterling Hamilton
 
DevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh CityDevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh City
Christian Trabold
 
Your Workflow, Your Way with WP Engine
Your Workflow, Your Way with WP EngineYour Workflow, Your Way with WP Engine
Your Workflow, Your Way with WP Engine
WP Engine UK
 
TuleapCon 2019. Tuleap explained by the users
TuleapCon 2019. Tuleap explained by the usersTuleapCon 2019. Tuleap explained by the users
TuleapCon 2019. Tuleap explained by the users
Tuleap
 
Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014Mozammel Haque
 
Continuous Integration using TFS
Continuous Integration using TFSContinuous Integration using TFS
Continuous Integration using TFS
Mohamed Samy
 
APIdays Paris 2018 - Client Library Automation, Inside Out, Avital Tzubeli, D...
APIdays Paris 2018 - Client Library Automation, Inside Out, Avital Tzubeli, D...APIdays Paris 2018 - Client Library Automation, Inside Out, Avital Tzubeli, D...
APIdays Paris 2018 - Client Library Automation, Inside Out, Avital Tzubeli, D...
apidays
 

What's hot (20)

Develop and Deploy Outside the Repo
Develop and Deploy Outside the RepoDevelop and Deploy Outside the Repo
Develop and Deploy Outside the Repo
 
Feedback en continu grâce au TDD et au AsCode
Feedback en continu grâce au TDD et au AsCodeFeedback en continu grâce au TDD et au AsCode
Feedback en continu grâce au TDD et au AsCode
 
Git with t for teams
Git with t for teamsGit with t for teams
Git with t for teams
 
5 steps for successful automation with Hiptest
5 steps for  successful automation with Hiptest5 steps for  successful automation with Hiptest
5 steps for successful automation with Hiptest
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
DevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps DisasterDevOps Utrecht - The DevOps Disaster
DevOps Utrecht - The DevOps Disaster
 
JavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disasterJavaZone 2016 - The DevOps disaster
JavaZone 2016 - The DevOps disaster
 
TuleapCon 2019. DevOps in Tuleap
TuleapCon 2019. DevOps in TuleapTuleapCon 2019. DevOps in Tuleap
TuleapCon 2019. DevOps in Tuleap
 
Gear up for Continuous Integration with Salesforce DX, Circle CI and Clayton
Gear up for Continuous Integration with Salesforce DX, Circle CI and ClaytonGear up for Continuous Integration with Salesforce DX, Circle CI and Clayton
Gear up for Continuous Integration with Salesforce DX, Circle CI and Clayton
 
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
 
Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End Testing
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software Development
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow Workshop
 
WordPress Development: Tracking Your Code With Version Control
WordPress Development: Tracking Your Code With Version ControlWordPress Development: Tracking Your Code With Version Control
WordPress Development: Tracking Your Code With Version Control
 
DevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh CityDevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh City
 
Your Workflow, Your Way with WP Engine
Your Workflow, Your Way with WP EngineYour Workflow, Your Way with WP Engine
Your Workflow, Your Way with WP Engine
 
TuleapCon 2019. Tuleap explained by the users
TuleapCon 2019. Tuleap explained by the usersTuleapCon 2019. Tuleap explained by the users
TuleapCon 2019. Tuleap explained by the users
 
Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014Introduction to Laravel 4, Developer Conference - Digital World 2014
Introduction to Laravel 4, Developer Conference - Digital World 2014
 
Continuous Integration using TFS
Continuous Integration using TFSContinuous Integration using TFS
Continuous Integration using TFS
 
APIdays Paris 2018 - Client Library Automation, Inside Out, Avital Tzubeli, D...
APIdays Paris 2018 - Client Library Automation, Inside Out, Avital Tzubeli, D...APIdays Paris 2018 - Client Library Automation, Inside Out, Avital Tzubeli, D...
APIdays Paris 2018 - Client Library Automation, Inside Out, Avital Tzubeli, D...
 

Viewers also liked

Object assessment for Objects & Places Unit (MMHS, Sydney Uni)
Object assessment for Objects & Places Unit (MMHS, Sydney Uni)Object assessment for Objects & Places Unit (MMHS, Sydney Uni)
Object assessment for Objects & Places Unit (MMHS, Sydney Uni)
Antony Skinner
 
Tus usuarios y clientes son móviles. ¿Lo es tu negocio?
Tus usuarios y clientes son móviles. ¿Lo es tu negocio?Tus usuarios y clientes son móviles. ¿Lo es tu negocio?
Tus usuarios y clientes son móviles. ¿Lo es tu negocio?
QDQ media
 
Praktika6
Praktika6Praktika6
Praktika6
Krinikit
 
Frauen und ihre Refugien: Ein Buch über 21 besondere Frauen
Frauen und ihre Refugien: Ein Buch über 21 besondere FrauenFrauen und ihre Refugien: Ein Buch über 21 besondere Frauen
Frauen und ihre Refugien: Ein Buch über 21 besondere Frauen
Callwey Verlag
 
Torino e provincia One territory, infinite emotions
Torino e provincia One territory, infinite emotionsTorino e provincia One territory, infinite emotions
Torino e provincia One territory, infinite emotionsQuotidiano Piemontese
 
Pensar de San Jacinto Febrero 2016
Pensar de San Jacinto Febrero 2016Pensar de San Jacinto Febrero 2016
Pensar de San Jacinto Febrero 2016
Pensar San Jacinto
 
Kaspiysk
KaspiyskKaspiysk
Kaspiysk
School
 
Health Datapalooza 2013: Datalab - Eugene Hayes
Health Datapalooza 2013: Datalab - Eugene HayesHealth Datapalooza 2013: Datalab - Eugene Hayes
Health Datapalooza 2013: Datalab - Eugene HayesHealth Data Consortium
 
Clipping cnc 24052016 versão de impressão
Clipping cnc 24052016   versão de impressãoClipping cnc 24052016   versão de impressão
Clipping cnc 24052016 versão de impressão
Paulo André Colucci Kawasaki
 
G12.2012 magic quadrant for enterprise information archiving
G12.2012 magic quadrant for enterprise information archivingG12.2012 magic quadrant for enterprise information archiving
G12.2012 magic quadrant for enterprise information archiving
Satya Harish
 
YouLab Global - Ageless Living on Purpose!
YouLab Global - Ageless Living on Purpose!YouLab Global - Ageless Living on Purpose!
YouLab Global - Ageless Living on Purpose!
SuperNovae17
 
S4 tarea4 zupel
S4 tarea4 zupel S4 tarea4 zupel
S4 tarea4 zupel
luzyfer44
 
Folleto 2015
Folleto 2015Folleto 2015
Folleto 2015
facanticx
 
Opio en-las-nubes-rafael-chaparro-madiedo
Opio en-las-nubes-rafael-chaparro-madiedoOpio en-las-nubes-rafael-chaparro-madiedo
Opio en-las-nubes-rafael-chaparro-madiedoAxl Razvan
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Mickaël Rémond
 
Utel Systems - Stinga Monitoring System
Utel Systems - Stinga Monitoring SystemUtel Systems - Stinga Monitoring System
Utel Systems - Stinga Monitoring System
fgorseth
 
KNOWHOW OPENER WB
KNOWHOW OPENER WBKNOWHOW OPENER WB
KNOWHOW OPENER WB
Lizeth Moreno
 
About The institution of Engineers (India)
About The institution of Engineers (India)About The institution of Engineers (India)
About The institution of Engineers (India)
IEI GSC
 

Viewers also liked (20)

Object assessment for Objects & Places Unit (MMHS, Sydney Uni)
Object assessment for Objects & Places Unit (MMHS, Sydney Uni)Object assessment for Objects & Places Unit (MMHS, Sydney Uni)
Object assessment for Objects & Places Unit (MMHS, Sydney Uni)
 
Tus usuarios y clientes son móviles. ¿Lo es tu negocio?
Tus usuarios y clientes son móviles. ¿Lo es tu negocio?Tus usuarios y clientes son móviles. ¿Lo es tu negocio?
Tus usuarios y clientes son móviles. ¿Lo es tu negocio?
 
Praktika6
Praktika6Praktika6
Praktika6
 
Chiapas-mexico
Chiapas-mexicoChiapas-mexico
Chiapas-mexico
 
Frauen und ihre Refugien: Ein Buch über 21 besondere Frauen
Frauen und ihre Refugien: Ein Buch über 21 besondere FrauenFrauen und ihre Refugien: Ein Buch über 21 besondere Frauen
Frauen und ihre Refugien: Ein Buch über 21 besondere Frauen
 
Torino e provincia One territory, infinite emotions
Torino e provincia One territory, infinite emotionsTorino e provincia One territory, infinite emotions
Torino e provincia One territory, infinite emotions
 
Pensar de San Jacinto Febrero 2016
Pensar de San Jacinto Febrero 2016Pensar de San Jacinto Febrero 2016
Pensar de San Jacinto Febrero 2016
 
Kaspiysk
KaspiyskKaspiysk
Kaspiysk
 
Health Datapalooza 2013: Datalab - Eugene Hayes
Health Datapalooza 2013: Datalab - Eugene HayesHealth Datapalooza 2013: Datalab - Eugene Hayes
Health Datapalooza 2013: Datalab - Eugene Hayes
 
Clipping cnc 24052016 versão de impressão
Clipping cnc 24052016   versão de impressãoClipping cnc 24052016   versão de impressão
Clipping cnc 24052016 versão de impressão
 
G12.2012 magic quadrant for enterprise information archiving
G12.2012 magic quadrant for enterprise information archivingG12.2012 magic quadrant for enterprise information archiving
G12.2012 magic quadrant for enterprise information archiving
 
YouLab Global - Ageless Living on Purpose!
YouLab Global - Ageless Living on Purpose!YouLab Global - Ageless Living on Purpose!
YouLab Global - Ageless Living on Purpose!
 
S4 tarea4 zupel
S4 tarea4 zupel S4 tarea4 zupel
S4 tarea4 zupel
 
Folleto 2015
Folleto 2015Folleto 2015
Folleto 2015
 
Opio en-las-nubes-rafael-chaparro-madiedo
Opio en-las-nubes-rafael-chaparro-madiedoOpio en-las-nubes-rafael-chaparro-madiedo
Opio en-las-nubes-rafael-chaparro-madiedo
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
 
Utel Systems - Stinga Monitoring System
Utel Systems - Stinga Monitoring SystemUtel Systems - Stinga Monitoring System
Utel Systems - Stinga Monitoring System
 
Abrelatas
AbrelatasAbrelatas
Abrelatas
 
KNOWHOW OPENER WB
KNOWHOW OPENER WBKNOWHOW OPENER WB
KNOWHOW OPENER WB
 
About The institution of Engineers (India)
About The institution of Engineers (India)About The institution of Engineers (India)
About The institution of Engineers (India)
 

Similar to One Click Deployment with Jenkins - PHP Unconference 2011

Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Mayflower GmbH
 
Continuous Improvement in PHP projects
Continuous Improvement in PHP projectsContinuous Improvement in PHP projects
Continuous Improvement in PHP projectsMayflower GmbH
 
HTML5 for PHP Developers - DPC11
HTML5 for PHP Developers - DPC11HTML5 for PHP Developers - DPC11
HTML5 for PHP Developers - DPC11Mayflower GmbH
 
Kontinuierliche verbesserung in php projekten
Kontinuierliche verbesserung in php projektenKontinuierliche verbesserung in php projekten
Kontinuierliche verbesserung in php projektenJohann-Peter Hartmann
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCMayflower GmbH
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHP
Arno Schneider
 
Enterprise E-Commerce Webinar #3: Bringing Your API to Market
Enterprise E-Commerce Webinar #3: Bringing Your API to MarketEnterprise E-Commerce Webinar #3: Bringing Your API to Market
Enterprise E-Commerce Webinar #3: Bringing Your API to Market
Nikita Sharma
 
Improving your workflows and awareness in the team with tools
Improving your workflows and awareness in the team with toolsImproving your workflows and awareness in the team with tools
Improving your workflows and awareness in the team with tools
Mayflower GmbH
 
Hhvm vs php
Hhvm vs phpHhvm vs php
continuousphp
continuousphpcontinuousphp
continuousphp
continuousphp
 
UI5con 2019 - Keynote for Bangalore
UI5con 2019 - Keynote for BangaloreUI5con 2019 - Keynote for Bangalore
UI5con 2019 - Keynote for Bangalore
Peter Muessig
 
Php live project training
Php live project trainingPhp live project training
Php live project training
TOPS Technologies
 
Online php training course is effective for web developers
Online php training course is effective for web developersOnline php training course is effective for web developers
Online php training course is effective for web developers
times institute of management and technical studies
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Ivy Rueb
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
Ivo Jansch
 
Php7
Php7Php7
Hire cake php developer
Hire cake php developerHire cake php developer
Hire cake php developerPHPDeveloper
 
Some Very Useful PHP Tools
Some Very Useful PHP ToolsSome Very Useful PHP Tools
Some Very Useful PHP Tools
Sem Jacobs
 

Similar to One Click Deployment with Jenkins - PHP Unconference 2011 (20)

Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011Continuous Improvement in PHP Projects - PHP UK Conference 2011
Continuous Improvement in PHP Projects - PHP UK Conference 2011
 
Continuous Improvement in PHP projects
Continuous Improvement in PHP projectsContinuous Improvement in PHP projects
Continuous Improvement in PHP projects
 
HTML5 for PHP Developers - DPC11
HTML5 for PHP Developers - DPC11HTML5 for PHP Developers - DPC11
HTML5 for PHP Developers - DPC11
 
Kontinuierliche verbesserung in php projekten
Kontinuierliche verbesserung in php projektenKontinuierliche verbesserung in php projekten
Kontinuierliche verbesserung in php projekten
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPC
 
HTML5 Workshop
HTML5 WorkshopHTML5 Workshop
HTML5 Workshop
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHP
 
Enterprise E-Commerce Webinar #3: Bringing Your API to Market
Enterprise E-Commerce Webinar #3: Bringing Your API to MarketEnterprise E-Commerce Webinar #3: Bringing Your API to Market
Enterprise E-Commerce Webinar #3: Bringing Your API to Market
 
Improving your workflows and awareness in the team with tools
Improving your workflows and awareness in the team with toolsImproving your workflows and awareness in the team with tools
Improving your workflows and awareness in the team with tools
 
Hhvm vs php
Hhvm vs phpHhvm vs php
Hhvm vs php
 
continuousphp
continuousphpcontinuousphp
continuousphp
 
UI5con 2019 - Keynote for Bangalore
UI5con 2019 - Keynote for BangaloreUI5con 2019 - Keynote for Bangalore
UI5con 2019 - Keynote for Bangalore
 
Php live project training
Php live project trainingPhp live project training
Php live project training
 
Why step
Why stepWhy step
Why step
 
Online php training course is effective for web developers
Online php training course is effective for web developersOnline php training course is effective for web developers
Online php training course is effective for web developers
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
 
Php7
Php7Php7
Php7
 
Hire cake php developer
Hire cake php developerHire cake php developer
Hire cake php developer
 
Some Very Useful PHP Tools
Some Very Useful PHP ToolsSome Very Useful PHP Tools
Some Very Useful PHP Tools
 

More from Mayflower GmbH

Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mayflower GmbH
 
Why and what is go
Why and what is goWhy and what is go
Why and what is go
Mayflower GmbH
 
Agile Anti-Patterns
Agile Anti-PatternsAgile Anti-Patterns
Agile Anti-Patterns
Mayflower GmbH
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
Mayflower GmbH
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur Führungskraft
Mayflower GmbH
 
Produktive teams
Produktive teamsProduktive teams
Produktive teams
Mayflower GmbH
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native Client
Mayflower GmbH
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingMayflower GmbH
 
Usability im web
Usability im webUsability im web
Usability im web
Mayflower GmbH
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
Mayflower GmbH
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
Mayflower GmbH
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
Mayflower GmbH
 
Responsive Webdesign
Responsive WebdesignResponsive Webdesign
Responsive Webdesign
Mayflower GmbH
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Mayflower GmbH
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming Mythbusters
Mayflower GmbH
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im Glück
Mayflower GmbH
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
Mayflower GmbH
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 Sprints
Mayflower GmbH
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalieren
Mayflower GmbH
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce Breakfast
Mayflower GmbH
 

More from Mayflower GmbH (20)

Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
 
Why and what is go
Why and what is goWhy and what is go
Why and what is go
 
Agile Anti-Patterns
Agile Anti-PatternsAgile Anti-Patterns
Agile Anti-Patterns
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur Führungskraft
 
Produktive teams
Produktive teamsProduktive teams
Produktive teams
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native Client
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
 
Usability im web
Usability im webUsability im web
Usability im web
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
 
Responsive Webdesign
Responsive WebdesignResponsive Webdesign
Responsive Webdesign
 
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und AlloyNative Cross-Platform-Apps mit Titanium Mobile und Alloy
Native Cross-Platform-Apps mit Titanium Mobile und Alloy
 
Pair Programming Mythbusters
Pair Programming MythbustersPair Programming Mythbusters
Pair Programming Mythbusters
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im Glück
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 Sprints
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalieren
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce Breakfast
 

Recently uploaded

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 

Recently uploaded (20)

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 

One Click Deployment with Jenkins - PHP Unconference 2011

  • 1. One Click Deployment with Jenkins Florian Anderiasch / Thorsten Rinne PHP Unconference 201 Hamburg 1, © 201 Mayflower GmbH 1
  • 2. DevOp „I rant a lot“ @anderiasch Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 2
  • 3. Team Lead / Scrum Master Head of Open Source Labs @ThorstenRinne Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 3
  • 4. Who are you? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 4
  • 5. Developers? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 5
  • 6. Administrators? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 6
  • 7. DevOps? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 7
  • 8. Continuous Integration? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 8
  • 9. How much time do you need for a release? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 9
  • 10. More than a year? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 10
  • 11. 6 - 12 months? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 11
  • 12. 1 - 6 months? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 12
  • 13. 2 - 4 weeks? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 13
  • 14. 1 - 14 days? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 14
  • 15. 1 - 24 hours? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 15
  • 16. Less than 15 minutes? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 16
  • 17. 15 Minutes! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 17
  • 18. Why One Click Deployment? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 18
  • 19. Everything is getting faster. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 19
  • 20. Faster feedback from your customer / user Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 20
  • 21. Faster ROI (return on invest) Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 21
  • 22. Faster response if the market changes Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 22
  • 23. Developers are lazy. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 23
  • 24. Basic requirements Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 24
  • 25. Agile software development Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 25
  • 26. Scrum or Kanban Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 26
  • 27. Test Driven Development Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 27
  • 28. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 28
  • 29. Continuous Integration Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 29
  • 30. Continuous Inspection Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 30
  • 31. Refactoring Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 31
  • 32. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 32
  • 33. Scrum Kanban Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 32
  • 34. Scrum Continuous Kanban Integration Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 32
  • 35. Scrum Continuous Continuous Kanban Integration Inspection Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 32
  • 36. Scrum Continuous Continuous Kanban Integration Inspection Continuous Deployment Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 32
  • 37. Things you don‘t want. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 33
  • 38. Having your SVN repo in your webserver‘s docroot. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 34
  • 39. Using SSH and vi and your root account on the live server. Never. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 35
  • 40. Who‘s still doing this? :-) Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 36
  • 41. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 37
  • 42. What do we need? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 38
  • 43. First: a central build server Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 39
  • 44. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 40
  • 45. Continous Testing with PHPUnit Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 41
  • 46. Advantages Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 42
  • 47. Test results at one central page Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 43
  • 48. Software metrics at one central page Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 44
  • 49. Errors can be identified fast and then fixed Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 45
  • 50. Awareness Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 46
  • 51. Awareness! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 47
  • 52. Continuous Integration in PHP projects Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 48
  • 53. PHPUnit DocBlox Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 49
  • 54. Continuous Inspection in PHP projects Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 50
  • 55. PHPCS PHP Depend PHPMD phpcpd jslint Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 51
  • 56. jslint? yes! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 52
  • 57. Infrastructure Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 53
  • 58. Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 54
  • 59. Developer VM Ubuntu 11.04 Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 55
  • 60. Testing VM + Jenkins VM: Ubuntu 11.04 Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 56
  • 61. Staging VMs: Frontend: Ubuntu 11.04 Backend: Ubuntu 10.04 LTS Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 57
  • 62. amazon AWS live: Frontend: Ubuntu 11.04 Backend: Ubuntu 10.04 LTS Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 58
  • 63. Front Nodes Varnish nginx PHP 5.3 with APC Zend Framework 1.1 1 dojo toolkit 1.6 Doctrine 2.1 Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 59
  • 64. Backend Nodes MySQL Master/Slave Apache Solr PHP 5.3 with APC RabbitMQ ejabberd Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 60
  • 65. Development workflow Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 61
  • 66. 1. git workflow $ git add Foo.php $ git commit -m ″Bar″ $ ant jslint $ ant phpunit ... $ git push Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 62
  • 67. 2. Post commit hook Build triggered on Jenkins Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 63
  • 68. Jenkins build checks Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 64
  • 69. 1. PHPUnit Build: Unittests Controller Tests (Zend_Test) PHP Code Coverage Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 65
  • 70. 2. Debian Package Build Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 66
  • 71. 3. Deploy to staging 4. Deploy staging to live Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 67
  • 72. What is a build process? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 68
  • 73. ant sync ant clean ant db-update parallelTasks: ant phpunit ant phpcb ant deb Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 69
  • 74. ant phpunit <target name="phpunit" depends="db-test" description="Run all tests"> <exec executable="phpunit" failonerror="true"> <arg line="--configuration $ {basedir}/tests/phpunit-verbose.xml $ {basedir}/tests/AllTests.php" /> </exec> </target> Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 70
  • 75. parallelTasks: php_depend phpmd phpunit phpcpd phpcs jslint Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 71
  • 76. Build Debian Package ant autoloader ant phpunit ant clean ant compilejs ant compilecss Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 72
  • 77. ant deb (I) <target name="deb" depends="autoloader,phpunit- coverage,clean,autoloader,compilejs,compi lecss" description="Generate Debian package"> <exec executable="gpg"> <arg value="--armor" /> <arg value="--import" /> <arg value="scripts/build/deb/ mapolis.mayflower.de.pgp" /> </exec> <buildnumber /> Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 73
  • 78. ant deb (II) <exec executable="git" outputproperty="githash"> <arg value="describe" /> <arg value="--always" /> <arg value="--match" /> <arg value="" /> </exec> <touch file="debian/changelog" /> <move file="debian/changelog" tofile="debian/changelog.old" /> Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 74
  • 79. ant deb (III) <exec executable="git" output="debian/changelog.new"> <arg value="log" /> <arg value="-n" /> <arg value="1" /> <arg value='--format=format:mapolis- web (${build.number}-${githash}) unstable; urgency=low%n%n * %s%n%n -- %an &lt;%ae&gt; %aD%n%n' /> </exec> Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 75
  • 80. ant deb (IV) <concat destfile="debian/changelog"> <fileset file="debian/changelog.new" /> <fileset file="debian/changelog.old" /> </concat> <delete file="debian/changelog.new" /> <delete file="debian/changelog.old" /> Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 76
  • 81. ant deb (V) <exec executable="dpkg-buildpackage"> <arg value="-b" /> <arg value="-v${build.number}-$ {githash}" /> <arg value="-Zlzma" /> <arg value="-z9" /> <arg value="-k78532445" /> <arg value="-pgpg" /> <arg value="-sgpg" /> <arg value="-mMayflower Mapolis Team &lt;mapolis@mayflower.de&gt;" /> </exec> Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 77
  • 82. ant deb (VI) <move todir="build/deb/"> <fileset dir="${basedir}/../"> <include name="mapolis*.deb" /> <include name="mapolis*.changes" /> </fileset> </move> <exec executable="dpkg-buildpackage"> <arg value="-Tclean" /> </exec> </target> Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 78
  • 83. Deploy Staging ant clean ant deb-sign ant db-staging-up scp to all hosts Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 79
  • 84. Deploy Staging to live scp to all hosts Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 80
  • 85. Disadvantages and problems Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 81
  • 86. Build time 15 min on harddisk massive disk i/o 4 min on ramdisk :-) Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 82
  • 87. Complexity beginning such a infrastructure Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 83
  • 88. Jenkins: Single point of failure! Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 84
  • 89. Cool stuff which is now possible Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 85
  • 90. Deploy by customer. :-) Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 86
  • 91. Jenkins Chuck Norris Plugin Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 87
  • 92. git bisect start $BAD $GOOD Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 88
  • 93. Minimum time from bugreport to deploy: 30 minutes Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 89
  • 94. $ git branch hotfix-2011-08-22 $ git checkout hotfix-2011-08-22 $ git reset --hard "last stable sha-1" $ git cherry-pick "hotfix sha-1" $ echo build.number=23 > build.number $ ant deb $ scp build/deb/*.deb xyz.amazonaws.com:/ opt/repository/ $ git checkout master $ git push origin hotfix-2011-08-10 Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 90
  • 95. Questions? Continuous Improvement in PHP Projects I Mayflower GmbH I 25th February I 91
  • 96. Thank you very much for your attention! Contact Florian Anderiasch Thorsten Rinne florian.anderiasch@mayflower.de thorsten.rinne@mayflower.de +49 89 242054-1 134 +49 89 242054-31 Mayflower GmbH Mayflower GmbH Mannhardtstr. 6 Mannhardtstr. 6 80538 München 80538 München Germany Germany © 201 Mayflower GmbH 1