Aleksey_Demedetskiy_Jenkins
-
Upload
ciklum -
Category
Technology
-
view
1.490 -
download
0
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