Similar presentations:
Continuous integration
1.
Continuous IntegrationProposal
2. CI Architecture
Jenkins Server(Jenkins Master)
Automatic tests
iOS Build Servers (Jenkins Slave)
Xcode
Build request
Ver 5,6,…
Build server 1
automation server
Artifacts
Artifactory Storage Server
Code Review
build tasks
Android Build Servers (Jenkins Slave)
Artifacts
Issue update
Build request
Jira
project tracking
commits
Ver 5,6,…
Build server N
…
Gerrit
Code Store
Ver 5,6,…
Build server 2
Jenkins
code
Xcode
Artifacts
Test request
Reports
Notifications
Git
XCode
issues
Gradle
Build server 1
Gradle
…
Build server 1
Build server N
…
Developers
3. CI Software Components
NameJenkins
TestLink
Xcode
Gradle
JFrog Artifactory
License
MIT
GNU
Customer
Apache 2.0
Commercial
OS
Linux
Linux
OS X
Linux
Linux
Server
Jenkins
Jenkins
iOS Build
Android Build
Artifactory
Jira
Customer
-
Customer Env
Customer
-
Customer Env
Gerrit + git
Customer
-
Customer Env
Jenkins plugins
Jenkins disk-usage
conditional-buildstep
Jenkins promoted builds
Xcode integration
Jenkins Multiple SCMs
SSH Agent
Jenkins Artifactory
Keychains and Provisioning Profiles Management
Environment Script
Jenkins Mailer
Ant
Version Number
Flexible Publish
Semantic Versioning
Jenkins build timeout
Build Keeper
Jenkins Grails
Managed Scripts
Jenkins Parameterized Trigger
Config File Provider
Jenkins GIT
Environment Injector
Rebuilder
Fail The Build
Jenkins JIRA
Jenkins Bitbucket
Jenkins Jira Issue Updater
Android Lint Plugin
Warnings
Version
1.651
1.9.14
7
2.11
4.5.2
Link
https://jenkins-ci.org/
testlink.org
https://developer.apple.com/xcode/
gradle.org
https://www.jfrog.com/open-source/
4. CI Hardware (minimum recommended)
NameJenkins
iOS Build
Android Build
Artifactory
Jira
Gerrit + git
CPU
4
4
4
4
Mem
8GB
8GB
8GB
8GB
HDD
500 GB
500 GB
500 GB
1TB
OS
Linux
Linux
OS X
Linux
Customer
Customer
5. Estimations
• Setup and configuration of required services: 1MM• Jenkins
• iOS Build
• Android Build
• Artifactory
• Integration of services: 1MM
• Jenkins plugins
• Jenkins Slaves
• Xcode
• Git
• Jira
• TestLink
• Integration of one Android and one iOS test projects: 1MM
• Create projects
• Create Users
• Create lib store
• Create build tasks
• Testing
• Documentation and Training: 0,5MM