Presentation is loading. Please wait.

Presentation is loading. Please wait.

Continuous Integration for OpenEdge Applications NameDivyaTheja Pachipula TitleSenior Engineer Date8 th June, 2015.

Similar presentations


Presentation on theme: "Continuous Integration for OpenEdge Applications NameDivyaTheja Pachipula TitleSenior Engineer Date8 th June, 2015."— Presentation transcript:

1 Continuous Integration for OpenEdge Applications NameDivyaTheja Pachipula TitleSenior Engineer Date8 th June, 2015

2 2 Focus of the session Development environments and challengesWhat isContinuous IntegrationContinuous Integration flowTools InvolvedDemo

3 3 Need for CI – Today’s development environments Distributed teams Multiple teams Multiple technologies Multiple countries Agile Development Daily/Weekly releases Cloud Platforms Short end cycles

4 4 Need for CI - Application Development Challenges OE Developer 1 OE Developer 2 OE Developer 3 Source code repository Infrequent commits Difficult integration Infrequent builds Testing happens late Lots of bugs

5 5 Need for CI - Application Development Challenges OE Developer 1 OE Developer 2 OE Developer 3 Source code repository Infrequent commits Difficult Integration Infrequent builds Testing happens late Lots of bugs  Slow release process  Poor project visibility  Insufficient testing  Issues raised are harder to fix  Slow release process  Poor project visibility  Insufficient testing  Issues raised are harder to fix

6 6 What is Continuous Integration? “Continuous Integration is a software development practice where members of a team integrate their work frequently; usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.” - Martin Fowler

7 7 Continuous integration flow INITIATE CI PROCESS COMMIT REPORT TEST

8 8 Tools involved

9 9 Tools Involved  Developing OpenEdge Applications Procedure Editor Progress Developer Studio for OpenEdge Development Check-inBuild Generate artifacts Test Publish results Unlocking Secrets of Progress Developer Studio for OpenEdge

10 10 Tools Involved Development Check-inBuild Generate artifacts Test Publish results ToolAvailabilityEclipse Plug-inVendor GITOpen SourceYes SVNOpen SourceYesApache CVSOpen SourceYes (As part of normal eclipse) GNU MercurialOpen SourceYesGNU Team Foundation Server CommercialYes (Teamprise)Microsoft Round TableCommercialYesTugBoat AccuRevCommercialYesAccuRev PerForceCommercialYesPerForce ClearcaseCommercialYesIBM

11 11 Tools Involved  Source Control Components Server –Repository Client –Command-line client –Windows client –Eclipse client Development Check-inBuild Generate artifacts Test Publish results

12 12 Tools Involved  Artifacts to be shared with team Database artifacts Property files Third party libraries Test Scripts Install Scripts PDS OE specific –Workspace preferences –Projects –Project properties Development Check-inBuild Generate artifacts Test Publish results

13 13 Tools Involved  Progress Compilation Tool (PCT) ANT Task From Riverside Software Development Check-inBuild Generate artifacts Test Publish results Libraries Compile Database

14 14 Tools Involved  Generate Procedure Libraries  Generate Documentation for ABL Code ABLDoc –Progress proprietary Class Documentation –Consulting werk Development Check-inBuild Generate artifacts Test Publish results Experience enhanced PDSOE with powerful features

15 15 Tools Involved Development Check-inBuild Generate artifacts Test Publish results ToolSupported test cases (Files Types)Availability ProUnitProceduresOpen Source OEUnitClassesOpen Source ABLUnitProcedures and ClassesPDS OE

16 16 Tools Involved  Publish results to team Artifacts generated Test results ABL Documentation Development Check-inBuild Generate artifacts Test Publish results

17 17 Components Involved - Tools : CI Server CI Server Source Control Build Generate artifacts Test Publish results

18 18 Tools Involved : CI Server ToolVendorAvailabilitySCM SupportBuild Tools Plug-in availability Jenkins-Open SourceYesAnt, MavenEclipse HudsonOracleAnt, MavenEclipse Cruise ControlGNUOpen SourceYesAnt, MS BuildEclipse GoThought WorksCommercialYes Team Foundation Server MicrosoftCommercialBuilt-inMS BuildVisual Studio, Eclipse BambooAtlassianOpen Source / Commercial YesMaven, Ant, MS Build Eclipse, Visual Studio and IntelliJ Electric Commander Electric CloudCommercialYesEclipse and Visual Studio Team CityJetBrainsFree / Commercial YesAntEclipse, Visual Studio and IntelliJ

19 19 Development Process with CI OE Developer 1 OE Developer 2 OE Developer 3 Source Control Automated Builds, tests,.. CI Server Fewer bugs Testing happens early Regular commits Sends feedback

20 20 Development Process with CI: Benefits OE Developer 1 OE Developer 2 OE Developer 3 Source code repository Automated Builds, tests,.. CI Server Fewer bugs Testing happens early Regular commits Sends feedback  Smoother integration process  Automated regression tests  Regular working releases  Better visibility  Find and fix issues faster and more easily  Smoother integration process  Automated regression tests  Regular working releases  Better visibility  Find and fix issues faster and more easily

21 21 Continuous Integration Best Practices Always run all tests locally before committing Wait for committed tests to pass before moving on Never go home on a broken build Always be prepared to revert to the previous revision Don’t comment out failing tests Don’t check-in on a broken build Make builds fast

22 22 Continuous integration for OpenEdge Applications

23 23 Continuous Integration - Summary Continuous Integration can help us build better quality software faster, with more confidence

24


Download ppt "Continuous Integration for OpenEdge Applications NameDivyaTheja Pachipula TitleSenior Engineer Date8 th June, 2015."

Similar presentations


Ads by Google