Sven Günther – it-agile GmbH


Continuous Integration
und One-Click-
Deployments
Continuous Integration



Working Software   over comprehensive documentation




                    Agiles Manifest:www.agilemanifesto.org
Continuous Integration



Working Software                          over comprehensive documentation




                                           Agiles Manifest:www.agilemanifesto.org


   Potentiell auslieferbare Software zu jeder Zeit
Continuous Integration



Working Software                       over comprehensive documentation




                                         Agiles Manifest:www.agilemanifesto.org


   Potentiell auslieferbare Software zu jeder Zeit
   frühes Feedback und weniger Risiko durch ständige Integration
Continuous Integration



Working Software                       over comprehensive documentation




                                         Agiles Manifest:www.agilemanifesto.org


   Potentiell auslieferbare Software zu jeder Zeit
   frühes Feedback und weniger Risiko durch ständige Integration
   keine Big-Bang-Integration
Continuous Integration



Working Software                       over comprehensive documentation




                                         Agiles Manifest:www.agilemanifesto.org


   Potentiell auslieferbare Software zu jeder Zeit
   frühes Feedback und weniger Risiko durch ständige Integration
   keine Big-Bang-Integration
Prinzipien
1 Click




Prinzipien
1 Click




Prinzipien   voll automatisiert
1 Click


selbst testend



                 Prinzipien   voll automatisiert
End to
        End
                    1 Click


selbst testend



                 Prinzipien   voll automatisiert
End to
        End
                     1 Click


selbst testend



                 Prinzipien       voll automatisiert




                   from scratch
End to
        End
                     1 Click
                                  10 min

selbst testend



                 Prinzipien       voll automatisiert




                   from scratch
End to
        End
                     1 Click
                                  10 min

selbst testend



                 Prinzipien       voll automatisiert




                   from scratch       visualisiert
End to
        End
                         1 Click
                                      10 min

selbst testend



                     Prinzipien       voll automatisiert




 nach jedem commit
                       from scratch       visualisiert
Xcode auf der Console


                        xcodebuild




xcodebuild -target "myapp" -configuration "debug" build
Makefiles
Jenkins
Jenkins
   www.jenkins-ci.org
Jenkins
   www.jenkins-ci.org
   führt Jobs aus und zeigt Zustand der Jobs an
Jenkins
   www.jenkins-ci.org
   führt Jobs aus und zeigt Zustand der Jobs an
   Java-Webanwendung
Jenkins
   www.jenkins-ci.org
   führt Jobs aus und zeigt Zustand der Jobs an
   Java-Webanwendung
   Configuration
Jenkins
   www.jenkins-ci.org
   führt Jobs aus und zeigt Zustand der Jobs an
   Java-Webanwendung
   Configuration
      pollt git-Repository auf Änderungen (alle 5 min)
Jenkins
   www.jenkins-ci.org
   führt Jobs aus und zeigt Zustand der Jobs an
   Java-Webanwendung
   Configuration
      pollt git-Repository auf Änderungen (alle 5 min)
      bei Änderungen wird aktueller Stand geladen
Jenkins
   www.jenkins-ci.org
   führt Jobs aus und zeigt Zustand der Jobs an
   Java-Webanwendung
   Configuration
      pollt git-Repository auf Änderungen (alle 5 min)
      bei Änderungen wird aktueller Stand geladen
      führt make aus (compile, test, deploy)
Jenkins
   www.jenkins-ci.org
   führt Jobs aus und zeigt Zustand der Jobs an
   Java-Webanwendung
   Configuration
      pollt git-Repository auf Änderungen (alle 5 min)
      bei Änderungen wird aktueller Stand geladen
      führt make aus (compile, test, deploy)



   Wichtig
Jenkins
   www.jenkins-ci.org
   führt Jobs aus und zeigt Zustand der Jobs an
   Java-Webanwendung
   Configuration
      pollt git-Repository auf Änderungen (alle 5 min)
      bei Änderungen wird aktueller Stand geladen
      führt make aus (compile, test, deploy)



   Wichtig
     ➡ Parallelität der Build-Queue auf 1 setzen
One Click Deployments
One Click Deployments

   manuelle Buildschritte vermeiden
One Click Deployments

   manuelle Buildschritte vermeiden
   leicht installierbare Version erzeugen
One Click Deployments

   manuelle Buildschritte vermeiden
   leicht installierbare Version erzeugen
   Over the Air Deployment
XCode-Logo (c) www.apple.com
      git-Logo (c) www.git-scm.com
Jenkins-Logo (c) www.jenkins-ci.org
XCode-Logo (c) www.apple.com
      git-Logo (c) www.git-scm.com
Jenkins-Logo (c) www.jenkins-ci.org
XCode-Logo (c) www.apple.com
      git-Logo (c) www.git-scm.com
Jenkins-Logo (c) www.jenkins-ci.org
XCode-Logo (c) www.apple.com
      git-Logo (c) www.git-scm.com
Jenkins-Logo (c) www.jenkins-ci.org
XCode-Logo (c) www.apple.com
      git-Logo (c) www.git-scm.com
Jenkins-Logo (c) www.jenkins-ci.org
Betabuilder
   Ruby-Gem von Luke Redpath
   https://github.com/lukeredpath/betabuilder
   Distribution-Zertifikate müssen auf CI-Server verfügbar sein
Betabuilder
   Ruby-Gem von Luke Redpath
   https://github.com/lukeredpath/betabuilder
   Distribution-Zertifikate müssen auf CI-Server verfügbar sein




   Gute Möglichkeit Apps für Betatest zu deployen ist TestFlight
   https://testflightapp.com/
Vielen Dank für die Aufmerksamkeit

iOS: Continuous Integration and One Click Deployments

  • 1.
    Sven Günther –it-agile GmbH Continuous Integration und One-Click- Deployments
  • 2.
    Continuous Integration Working Software over comprehensive documentation Agiles Manifest:www.agilemanifesto.org
  • 3.
    Continuous Integration Working Software over comprehensive documentation Agiles Manifest:www.agilemanifesto.org  Potentiell auslieferbare Software zu jeder Zeit
  • 4.
    Continuous Integration Working Software over comprehensive documentation Agiles Manifest:www.agilemanifesto.org  Potentiell auslieferbare Software zu jeder Zeit  frühes Feedback und weniger Risiko durch ständige Integration
  • 5.
    Continuous Integration Working Software over comprehensive documentation Agiles Manifest:www.agilemanifesto.org  Potentiell auslieferbare Software zu jeder Zeit  frühes Feedback und weniger Risiko durch ständige Integration  keine Big-Bang-Integration
  • 6.
    Continuous Integration Working Software over comprehensive documentation Agiles Manifest:www.agilemanifesto.org  Potentiell auslieferbare Software zu jeder Zeit  frühes Feedback und weniger Risiko durch ständige Integration  keine Big-Bang-Integration
  • 7.
  • 8.
  • 9.
    1 Click Prinzipien voll automatisiert
  • 10.
    1 Click selbst testend Prinzipien voll automatisiert
  • 11.
    End to End 1 Click selbst testend Prinzipien voll automatisiert
  • 12.
    End to End 1 Click selbst testend Prinzipien voll automatisiert from scratch
  • 13.
    End to End 1 Click 10 min selbst testend Prinzipien voll automatisiert from scratch
  • 14.
    End to End 1 Click 10 min selbst testend Prinzipien voll automatisiert from scratch visualisiert
  • 15.
    End to End 1 Click 10 min selbst testend Prinzipien voll automatisiert nach jedem commit from scratch visualisiert
  • 16.
    Xcode auf derConsole xcodebuild xcodebuild -target "myapp" -configuration "debug" build
  • 17.
  • 18.
  • 19.
    Jenkins  www.jenkins-ci.org
  • 20.
    Jenkins  www.jenkins-ci.org  führt Jobs aus und zeigt Zustand der Jobs an
  • 21.
    Jenkins  www.jenkins-ci.org  führt Jobs aus und zeigt Zustand der Jobs an  Java-Webanwendung
  • 22.
    Jenkins  www.jenkins-ci.org  führt Jobs aus und zeigt Zustand der Jobs an  Java-Webanwendung  Configuration
  • 23.
    Jenkins  www.jenkins-ci.org  führt Jobs aus und zeigt Zustand der Jobs an  Java-Webanwendung  Configuration  pollt git-Repository auf Änderungen (alle 5 min)
  • 24.
    Jenkins  www.jenkins-ci.org  führt Jobs aus und zeigt Zustand der Jobs an  Java-Webanwendung  Configuration  pollt git-Repository auf Änderungen (alle 5 min)  bei Änderungen wird aktueller Stand geladen
  • 25.
    Jenkins  www.jenkins-ci.org  führt Jobs aus und zeigt Zustand der Jobs an  Java-Webanwendung  Configuration  pollt git-Repository auf Änderungen (alle 5 min)  bei Änderungen wird aktueller Stand geladen  führt make aus (compile, test, deploy)
  • 26.
    Jenkins  www.jenkins-ci.org  führt Jobs aus und zeigt Zustand der Jobs an  Java-Webanwendung  Configuration  pollt git-Repository auf Änderungen (alle 5 min)  bei Änderungen wird aktueller Stand geladen  führt make aus (compile, test, deploy)  Wichtig
  • 27.
    Jenkins  www.jenkins-ci.org  führt Jobs aus und zeigt Zustand der Jobs an  Java-Webanwendung  Configuration  pollt git-Repository auf Änderungen (alle 5 min)  bei Änderungen wird aktueller Stand geladen  führt make aus (compile, test, deploy)  Wichtig ➡ Parallelität der Build-Queue auf 1 setzen
  • 29.
  • 30.
    One Click Deployments  manuelle Buildschritte vermeiden
  • 31.
    One Click Deployments  manuelle Buildschritte vermeiden  leicht installierbare Version erzeugen
  • 32.
    One Click Deployments  manuelle Buildschritte vermeiden  leicht installierbare Version erzeugen  Over the Air Deployment
  • 33.
    XCode-Logo (c) www.apple.com git-Logo (c) www.git-scm.com Jenkins-Logo (c) www.jenkins-ci.org
  • 34.
    XCode-Logo (c) www.apple.com git-Logo (c) www.git-scm.com Jenkins-Logo (c) www.jenkins-ci.org
  • 35.
    XCode-Logo (c) www.apple.com git-Logo (c) www.git-scm.com Jenkins-Logo (c) www.jenkins-ci.org
  • 36.
    XCode-Logo (c) www.apple.com git-Logo (c) www.git-scm.com Jenkins-Logo (c) www.jenkins-ci.org
  • 37.
    XCode-Logo (c) www.apple.com git-Logo (c) www.git-scm.com Jenkins-Logo (c) www.jenkins-ci.org
  • 38.
    Betabuilder  Ruby-Gem von Luke Redpath  https://github.com/lukeredpath/betabuilder  Distribution-Zertifikate müssen auf CI-Server verfügbar sein
  • 39.
    Betabuilder  Ruby-Gem von Luke Redpath  https://github.com/lukeredpath/betabuilder  Distribution-Zertifikate müssen auf CI-Server verfügbar sein  Gute Möglichkeit Apps für Betatest zu deployen ist TestFlight  https://testflightapp.com/
  • 41.
    Vielen Dank fürdie Aufmerksamkeit