25. CI implementation - for the team
Node Group-windows-ci-
Artifact / agents
Binary continuous
Repository Integration Node Group linux-ci-agents
Proxy Server
Delivery
Jmeater / Jsystem
Node Group-linux-QA UAT / PROD servers
Node Group-linux-QA
Acceptance
testing
WWW.TIKALK.COM
26. Continuous Deployment
Fast turnovers eq. agility
Small(er) Changes eq. Smaller Risks
More redundant
Achievable via automation
31 WWW.TIKALK.COM
27. Customer Story
Company with continues
build with unit test for
component (Hudson
plug-in)
Manual QA test sanity
and integration
Manual installation of
server and plug-ins
32 WWW.TIKALK.COM
28. Challenges
To automate:
Deployment
Sanity test
33 WWW.TIKALK.COM
29. Solution
Create installable package that contain all the set of plug-ins
Automate installation and sanity test.
We choose Hudson as build manager:
Maven as build scripts
Nexus as artifact repository
Virtual box for private cloud
Added runtime module – Hudson + tomcat + plug-in => deploy it to
Nexus
Job ruining on Windows based VM which runs selenium tests
Hudson picks up all reports and exposes in the UI
34 WWW.TIKALK.COM
30. A real life Use Case
Continuous Create Runtime Deploy
35 WWW.TIKALK.COM
Manual & Repetitive tasksDevelopmentQAOPSWhat do we automate ? – Everything, development, build, deployment …How can automation help ? - Who automates ? - parties participating in automationWhen do we automate ? – an open question for the last slide
People & DemandsClient demands are changingWe are all clients within and out the organizationpeople are changing = usTechnologies are changingOrganizations are changingPeople & DemandsTechnologiesOrganizations
Business processesAutomate repetitive time consuming tasks
All parties in the organizationWe are changing thus we are the leaders of the change
Now – if we want our customer to stay we need to make necessary adjustments
Are there things we can do betterHow are our executionsWe have lessons learned do we apply them into out processes or just keep having these meetings? Voer & overContinuousbuilds => continues testing => continuous deploymentWe have virtualization / Grid => lets take them to the EXTREAME – stretch our abilitiesImprove collaborationRevise & Reuse processesUtilize existing assetsImprove collaboration across teams & divisions
DevelopmentQAConfiguration Management / Release managementThere is Something missing in here …
Working together end 2 end delivering continuous valueAutomation is a set of processes, methods and systems for communication, collaboration and integration between departments for Development (Applications/Software Engineering), Technology Operations and Quality Assurance (QA). It relates to the emerging understanding of the interdependence of development and operations in meeting a business' goal to producing timely software products and servicesOps are “left behind”Decision takers / risk assent done in late stages Dev, QA, CM, OPS
The funnel driving modules / features from Development through QA & CM to Operations
There are quite a fewShort overview will follow …
The key to automation – nothing without X testingUnit testing – short and to the pointDo not mix-up with system / integration testing’
Tests your code as part of a bigger systemDevelopers better aware of the bigger picture
GUIUsabilityPerformanceOS’sInstaller(s) and more …Jsystem / QTP – QA role
Missing data
BuildGenerate reportsQuick Feedback to DevProve continuous stability
BuildGenerate reportsQuick Feedback to DevProve continuous stability
As described in Eishay’s (smith) presentationsWe have atested module / component ready for deployment
The range of technologies available in each layer are big how do we choose – criteria based on Answers CI’s needs SCM “easy merging” - gitOne mainline – subversion We saw the ability of utlizing SVN’s capabilities and Git powerful merging in previous presentationBuild Tools Ant – free style all the way …Maven - xml based, fixed lifecycle expandable via pluginsGradle, Buildr – very much like Maven in terms of dependency mangmnet language driven Auto builder - Continuous builds CM & developer (multiple views) = hudsonSupport / extend support of our build toolOn submit / scheduledAutomatic deploymnet via promotions vs separate “out of context builds” in other Auto Builders (mentioned above)Cloud integration (ssh, libvirt, pre post vm actions)
The range of technologies available in each layer are big how do we choose – criteria based on Answers CI’s needs SCM “easy merging” - gitOne mainline – subversion We saw the ability of utlizing SVN’s capabilities and Git powerful merging in previous presentationBuild Tools Ant – free style all the way …Maven - xml based, fixed lifecycle expandable via pluginsGradle, Buildr – very much like Maven in terms of dependency mangmnet language driven Auto builder - Continuous builds CM & developer (multiple views) = hudsonSupport / extend support of our build toolOn submit / scheduledAutomatic deploymnet via promotions vs separate “out of context builds” in other Auto Builders (mentioned above)Cloud integration (ssh, libvirt, pre post vm actions)
שלום קוראים לי איתיואני ידגים לכם את מה שחגי דיבר עד עכשיואוטומציה של התהליכים בתוך ארגוןלצורך ההדגמה מדובר בחברת מוצר שמיצרת Distrebution of hudson Build manager אני יציג תהליך של בנית PluginPromotedSimplePluginהרחבה של hudson promote pluginיצירת ditrebution of hudson in servletcontiner (tomcat)With the promoted pluginלצורך זה אני ישתמש בHudson – build managerNexus – artifatreporitoryMaven – build scripts
שלום קוראים לי איתיואני ידגים לכם את מה שחגי דיבר עד עכשיואוטומציה של התהליכים בתוך ארגוןלצורך ההדגמה מדובר בחברת מוצר שמיצרת Distrebution of hudson Build manager אני יציג תהליך של בנית PluginPromotedSimplePluginהרחבה של hudson promote pluginיצירת ditrebution of hudson in servletcontiner (tomcat)With the promoted pluginלצורך זה אני ישתמש בHudson – build managerNexus – artifatreporitoryMaven – build scripts
The key to automation – nothing without X testingUnit testing – short and to the pointDo not mix-up with system / integration testing’