Contenu connexe Similaire à Massively Continuous Integration: From 3 days to 30 minutes (20) Plus de seleniumconf (12) Massively Continuous Integration: From 3 days to 30 minutes2. •Software as a Service
•Project Management
•Collaborative Work Management
3. How we use Selenium
•1,100 Selenium 1 tests
•800 Selenium 2 tests
•40,000 hours per month
•Release Acceptance + CI
10. Commit
Build Installer
Build Tests
ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY
11. Selenium Grid
Grid + AtTask
Commit
Build Installer
Build Tests
ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY
12. Selenium Grid
Grid + AtTask
Commit Install
Build Installer
Build Tests
ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY
13. Selenium Grid
Grid + AtTask
Commit Install
Build Installer
Build Tests
Unit
Integration
1/4 3/4
2/4 4/4
ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY
14. Selenium Grid Selenium IE
Grid + AtTask
Commit Install Selenium FF
Build Installer
Build Tests Other tests
Unit
Integration
1/4 3/4
2/4 4/4
ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY
15. Selenium Grid Selenium IE
Grid + AtTask
Commit Install Selenium FF Tear Down
Build Installer
Build Tests Other tests
Unit
Integration
1/4 3/4
2/4 4/4
ATTASK’S PIPE
BUILD -- DEPLOY -- TEST -- DESTROY
17. Selenium Grid Selenium IE
Grid + AtTask
Commit Install Selenium FF Tear Down
Build Installer
Build Tests Other tests
Unit
Integration
1/4 3/4
2/4 4/4
SERIAL VS PARALLEL
18. Selenium Grid Selenium IE
Grid + AtTask
Commit Install Selenium FF Tear Down
Build Installer
Build Tests Other tests
Unit
Integration
1/4 3/4
2/4 4/4
SERIAL VS PARALLEL
27. SLAVE
SLAVE
SLAVE
SLAVE
JENKINS DYNAMIC SLAVE ALLOCATION
36. SELENIUM 1 (1800 TESTS)
4 HOURS
SELENIUM 2 (750 TESTS)
30 MINUTES
WHERE DID THE
TESTS GO?
TRANSITIONING TO SELENIUM 2
40. 2.1 MINUTES 34 SECONDS
WITH GRID...
TRANSITIONING TO SELENIUM 2
41. 2.1 MINUTES 34 SECONDS
WITH GRID...
8 SECONDS
TRANSITIONING TO SELENIUM 2
42. 2.1 MINUTES 34 SECONDS
WITH GRID...
8 SECONDS 2.4 SECONDS
TRANSITIONING TO SELENIUM 2
43. Scalability
•To the cloud with Amazon Cloud Formations
•Dynamic Selenium Grids
•Dynamic AtTask Environments
46. Scalability
Selenium Grid Selenium IE
Grid + AtTask
Commit Install Selenium FF Tear Down
Build Installer
Build Tests Other tests
Unit
Integration
1/4 3/4
2/4 4/4
47. Scalability
Selenium Grid
Grid + AtTask
Commit
Build Installer
Build Tests
53. SLAVE
SELENIUM GRID
SLAVE
SLAVE
SELENIUM GRID
SLAVE SLAVE
IT’S RAINING GRIDS
54. Visibility
•Selenium results in Jenkins
•Description plugin
•Theres my commit!
•View plugin
•All the jobs on one line, oh the humanity!
55. Visibility
•Selenium results in Jenkins
•Description plugin
•Theres my commit!
•View plugin
•All the jobs on one line, oh the humanity!
56. Visibility
•Selenium results in Jenkins
•Description plugin
•Theres my commit!
•View plugin
•All the jobs on one line, oh the humanity!
60. Gotchas
•Watch your integration points
•Get the right skill set
•Align process w/ tools
•Continuous Investment
61. What does it cost?
•3 FTE
•Two human, one machine(s)
•Keeping costs down
•Efficient machine sizes
•Rock-solid tear down
•Elasticity
62. Return on investment
•5 days (40 hours) to certify one release...
•10 engineers
•$40 per hour
•$20,000
•30 minutes to certify one release...
•10 engineers
•$40 per hour
•$250
63. To release 12 times in a year...
$240,000 TO CERTIFY $3000 TO TEST
$160,000 FOR TWO FTE
$77,000 FOR CI
To release 24 times in a year...
$480,000 TO CERTIFY $6000 TO TEST
$160,000 FOR TWO FTE
$77,000 FOR CI
To release 100 times in a year...
$2,000,000 TO CERTIFY $25000 TO TEST
$160,000 FOR TWO FTE
$77,000 FOR CI
67. Where to go from here
•Continuous Delivery
•Thoughtworks
•Application Lifecycle Management
•Infrastructure CI
•OpenStack
68. Tools Manifest
•AtTask contributions...
•EC2 - wiki.jenkins-ci.org/display/JENKINS/Amazon+EC2+Plugin
•CloudFormation - wiki.jenkins-ci.org/display/JENKINS/AWS+Cloudformation+Plugin
•Pipeline View - github.com/JoelJ/PipelineDashboard
•Description Setter - github.com/JoelJ/DescriptionSetter
•GIT - /wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
•AtTask for Jenkins - Coming soon...