Aleksey_Demedetskiy_Jenkins

Post on 13-Jan-2015

1.490 views 0 download

Tags:

description

 

Transcript of Aleksey_Demedetskiy_Jenkins

JENKINS

Distributed continuous integration system

Software lifecycle w/o CI

Development Testing Production

Software lifecycle with CI

Development

Testing

Production

Mobile Development Features

•Small projects

•Small timeline

•Small teams

A lot of projects!

CI can automate• On request• Daily• From CVS

Build

• Performance measuring• Auto-runningUnit-test

• Copy-Paste code• Memory leaksStyle-check

• BOE (build over e-mail)• Old version storageDeployment

iOS SetupDistributed build, auto-deploy and friends

Simple way

Mac as a server Troubles with other platforms

Other way – distributed CI One CI for ALL projects Linux server for Jenkins For all platforms Building in native environment ???? PROFIT!!!

But…

You still need some Mac for build

You need to auto power-on your build machines

Workflow

Connect•Create a special user on slave•Exchange SSH keys•Test connection over terminal•Create slave inside Jenkins

Work•Build•Unit testing•Style check•Creating an Ad-Hock build

Gather •Building logs•Unit test results

Analyze •Draw charts•Send emails

Project settings

Create simple Ad-Hoc distribution configuration

Set all certificates to ‘auto’ Remember this settings:

Creating Jenkins job

New job with free configuration

Enable security

Creating Jenkins job

Select your environment

Setup your CVS

Building script

Setup phaseError exitClear workspaceCreating archiveCD to source

Building script

Setup phaseClean allUnlock keychain for code signInstall mobile provision

Building script

Build phaseBuilding tests

Building app

Building script

Creating IPA

Analyze source code

Script

ToolsPlot build data plug-inClang Static Analyzer (

http://clang-analyzer.llvm.org/)

What next?

Auto deploy builds OTAhttp://testflightapp.com/Own web-server

iOS Jenkins plug-inTemplateCode analyzer

The end!

Alexey Demedeckiy, MobiDevSkype: nobidonEmail: demedeckie@gmail.com