Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

43
World ® ’1 6 Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition – Easy as 1,2,3 Walter Guerrero - Eng. Services Architect - CA Technologies Jacky Mahadab - Sr. Eng. Services Architect - CA Technologies DO5X03L DEVOPS

Transcript of Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

Page 1: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

World®’16

Pre-ConLab:BuildPlug-insforCAReleaseAutomationContinuousDeliveryEdition– Easyas1,2,3WalterGuerrero- Eng.ServicesArchitect- CATechnologiesJackyMahadab- Sr.Eng.ServicesArchitect- CATechnologies

DO5X03L

DEVOPS

Page 2: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Abstract

Implementingcontinuousdeliveryrequiresmanytoolsworkinginconcert,fromapplicationlifecyclemanagementtotestautomationtochangemanagement(andmanyothers).TheCAReleaseAutomationContinuousDeliveryEditionsolutionoffersasinglepointofcontroltoplan,manageandorchestratecomplexreleases,deliveringhigh-valueanalyticsforapplicationcontent,releaseprocessesandprojectteams.Jointhishands-onlabtolearnaboutimportantcontinuousdeliveryintegrationpointsandhowtodevelopplug-instosupportyourdiverseecosystem.Andyoudon’thavetobeadevelopertodoit.

WalterGuerrero&JackyMahadabCATechnologies

Page 3: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Agenda

INTRODUCTIONTOCARELEASEAUTOMATIONCDEDITIONPLUG-INARCHITECTURE

BESTPRACTICESFORCARELEASEAUTOMATIONCDEDITIONPLUG-INDEVELOPMENT

QUESTIONSANDANSWERS

LABWALKTHROUGH

INTRODUCTIONTOLABENVIRONMENT

HANDSONLAB

1

2

3

4

5

6

Page 4: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationContinuousDeliveryEditionPlug-inArchitecture

Page 5: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationContinuousDeliveryEdition

CAReleaseAutomationContinuousDeliveryEdition

OffersImportantContinuousDeliveryIntegrationPoints

ALM

ContinuousIntegration

Testing

Provisioning

Deployment

ChangeManagement

ApplicationTracking

ReleaseExecution

ProductivityMetrics

ProcessImprovement

ConflictAvoidance

BusinessValue

§ Easytobeimplementedandeasytouse

§ Workswithanytoolortechnology(commercial,homegrownoronpremise)

§ Supportstoolsandtechnologiesspanningthecontinuousdeliverypipeline

DATA&OPERATIONS

Page 6: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatistheCAReleaseAutomationCDEditionPlug-inFramework?

Integrationthroughplug-insletsyou extend CAReleaseAutomationCDEdition functionalityandcanprovidethefollowing capabilities

§ ApplicationModelsfromDeploymentTools

§ ContinuousDeliveryTaskInstrumentation

§ ReleaseContentfromTrackingTools

CAReleaseAutomationContinuous

DeliveryEdition

JiraPlug-in

CustomPlug-in

RallyPlug-inRest

Plug-in

Custom2Plug-in

RAPlug-in

Page 7: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationCDEditionPlug-inFrameworkExpandedDefinition

ApplicationModelsfromDeploymentTools

Plug-inscanimportapplicationmodelsfromCAReleaseAutomationforusein CAReleaseAutomationCDEdition.

ContinuousDeliveryTaskInstrumentation

Plug-intasksletyouinstrumentimportantactionsinyourcontinuousdeliverypipelinefromremotecomponentsinthecontextof CAReleaseAutomationCDEdition releases.

ReleaseContentfromTrackingTools

Plug-inscanintegratewithtrackingtoolstoannotatereleaseswithrelatedworkitems.

Page 8: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatissupportedbytheCAReleaseAutomationCDEditionPlug-inFramework?

Theplug-inframeworksupportsthefollowingcapabilities:§ Configuringendpointconnectionstotheremotecomponent§ Creatingautomatedtasksthatinstrumentoperationsintheremote

component§ Importingapplicationandenvironmentmodels§ Importingcontent

Page 9: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Pre-packagedCAReleaseAutomationCDEditionPlug-ins

ThefollowingPlug-insaremadeavailableaspartofyourinstallation§ Atlassian JIRA§ CAReleaseAutomation§ CAAgileCentral(formerlyRally)

§ RESTFULAPIcalls§ ServiceNow

Page 10: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

BestPracticesforDevelopingCAReleaseAutomationCDEditionPlug-ins

Page 11: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationCDEditionPlug-inDevelopmentRequirements

Thearchitectureoftheplug-inframeworkisintendedtoallowforquickandflexibledevelopmentofintegrationswithremotecomponentsinyourcontinuousdeliverypipeline

Theplug-inframeworkdoesnotrequireanyspecificprogramminglanguageordeliverymodel§ AsdynamicwebJavaprojectthatyou

install(similartothecurrentpackagedplug-ins)

§ Asanonlineservicethattheproductconnectsto,whichcouldbeusingmicroservices

Page 12: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationCDEditionPlug-inMessageArchitecture

All packagedplug-insareJavawebapplicationsthatarepackagedasTomcat8WARfilesthatyoudeploylocallyorremotelyfromthecoreproductinstallation.

Page 13: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

InstallationAftertheplug-inhasbeenwrittenandtested.AWARiscreated,thisisthedistributionmechanism.

HTTPServicesTheplug-inmustbeanHTTPservicethatcanacceptaPOSTrequest,instrumenttherequestedoperation,andreturnaresponse.

ManifestTheplug-inmustincludeamanifest.json filethatdetailstheplug-in’scapabilities.

CAReleaseAutomationCDEditionPlug-inDevelopmentRequirements

Page 14: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationCDEditionPlug-inSDKRequirements

CreateadynamicwebprojectinEclipseEEforTomcat8.0

IncludethefollowinglibrariesfromtheCDDwarpackage§ Plug-ins-dto-1.11-SNAPSHOT.JAR

§ JDK8(64-bit)§ Tomcat8(64-bit)§ Eclipse(64-bit)

Youmayalsohavetoincludeadditionallibrariesbasedonyourprojectneeds§ I.E.Jerseylibraries:jersey-client-2.23.2.jar,jersey-core-2.23.2.jar

Page 15: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationCDEditionPlug-inDynamicWebProjectSetup

TypicalsetupofdynamicwebprojectinEclipse

Page 16: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationCDEditionPlug-inDynamicWebProjectSetup

TypicalviewoftheEclipsedynamicwebprojectsetupwiththesupportingobjects

Page 17: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationCDEditionPlug-inWeb.xmlDefinitionTheweb.xmlneedstobedefinedwiththeentriesshown

Page 18: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationCDEditionPlug-inManifest.json DefinitionManifest.json definesthepluginandthetaskstobeexecuted

Page 19: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationCDEditionPlug-inJAVAClasses

CreatethenecessaryJAVAclassesasneeded.

Inthisexamplethatwouldbe:– slackConnectivityTest.java– slackSendMessage.java

Page 20: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

LabWalkThrough

Page 21: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

SetupMessagingviaSlack

§ CommunicatingwiththereleaseteamviaSlack§ Plug-inswillbecreatedusingtheSLACKWEBAPI§ Messageswillbesenttothedesignatedchanneltoprovidea

statusoftheCDErelease

Page 22: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Createreleaseandaddtaskcontainingcustom

plug-in

Verifypre-requisites CreatethedynamicwebprojectinEclipse

Addnecessaryobjectstothecustomplugin

AddendpointtoRACDEsystem

Installcustomplug-in CreateWARfile Testcustomplug-ininEclipse

CDESlackPluginHighLevelWorkflow

Page 23: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Hands-onLab

Page 24: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

LabAims§ InstallerchecksforJDKandpromptsforTomcatinstallationfolder

§ DownloadfromCAsupportsiteCreatecustomplug-in

Createtaskandverificationlogic

Generatewarfile TestinCAReleaseAutomationCDEdition

Page 25: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

StartingupEclipseProject

§ CommunicatingwiththereleaseteamviaSlack§ Plug-inswillbecreatedusingtheSLACKWEBAPI§ Messageswillbesenttothedesignatedchanneltoprovidea

statusoftheCDErelease

Page 26: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

26 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

SetupMessagingviaSlack

§ Wearegoingtouseapre-built“dynamicwebproject”intheEclipseinstallationinyourVM

§ StartupEclipsebyclickingontheicononyourdesktop

Page 27: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Updateweb.xml§ Updatetheweb.xml§ Changeparm-nameto:com.ca.plugins.slack§ Changeurl-patternto:/servlet/*§ Savefile

Page 28: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

28 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Updatingmanifest.json§ Updateendpoint

parameterforURLto:“URL”

§ Updateendpointparameterfortokento:“token”

§ UpdatetaskURLto:“api/chat.postMessage”

Page 29: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CreatingWARfile§ Createwarfilebyhighlight

projectàExportàWar file§ Entertheinformationas

shown§ Copythewarfiletoyour

%TOMCAT%\webapps folder§ Waitafewminutesforthe

WARfiletobeloadedtoyourTomcatinstallation

Page 30: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

30 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WarFileExpandedinwebapps§ Onceyoucopythepluginthatyouhave

createdandithasbeenexpandedtothewebapps folder

§ Verifyyourinstallationbybringupyourbrowser

§ Enterthefollowing:– http://localhost:8080/cdd-slack-plugin/manifest.json

§ Themanifest.json willbedisplayed

Page 31: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

31 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

AddPlugintoCDE§ AddplugininCDE

– AdminstrationàPlug-ins

§ Registerplugin§ Enterinformationas

shown§ Click“Register”

buttontocompletetheregistration

Page 32: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

32 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

NewPluginRegistration§ Thenew“slack”pluginhasbeenadded

Page 33: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

33 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

AddEndpointtoCDE§ AddendpointinCDE

– AdminstrationàEndpoints

§ AddthenewSlackendpoint§ Enterinformationasshown§ Click“Add”button

Page 34: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

EndpointAdded§ Checkthattheendpointisshowninthelist

Page 35: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

35 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

AddTasktoRelease§ Switchto“Releases”§ Clickon“ReleaseA”

Page 36: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

36 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

AddTasktoRelease§ Clickthe“AddTask”link§ Createanew“SendMessage”task§ Enterthevaluesasshown§ Clickthe“Create”button§ Runthe“DevTest”phase

Page 37: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

37 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAReleaseAutomationCDEdition:AdaptableforAnyEnterpriseEnvironment

EasytobeimplementedandeasytouseSIMPLEWorkswithanytoolortechnology(commercial,homegrown,opensource,SaaSoronprem)OPENSupportstoolsandtechnologiesspanningtheContinuousDeliverypipelineBROAD

Page 38: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

38 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ExperiencesPlanningcustomRACDEplug-ins

Creationoftheplug-ins

InstallationinRACDEinstallation

UtilizationofRACDEplug-ins

KeyTopicsLearnabouttheCAReleaseAutomationCDEdition(RACDE)plug-inarchitecture

Howtheplug-insinteractinRACDE

FindingsLearntocreateacustomRACDEplug-inutilizinganEclipsedynamicwebprojectforthegenerationoftheslackplug-ins

SummaryAFewWordstoReview

Page 39: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

39 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Questions?

Page 40: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

40 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

RecommendedSessions

SESSION# TITLE DATE/TIME

DO5T21PKeynote:End-to-EndIntegratedContinuousDeliveryEcosystem:HowtoDriveInnovationandDifferentiation

11/16/2016at10:30am

DO5T02PLeadershipPanel:DevOpsLeadersDiscusstheJourneytoContinuousDelivery

11/16/2016at01:45pm

DO5T14SAnalystKeynote:ContinuousDelivery:MakingDevOpsAwesome

11/17/2016at10:30am

Page 41: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

41 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

MustSeeDemos

ModernizeAppDeliveryIntegratedCDTheater5- DOV501P

DeliverTestDataFasterTestDataManagerTheater5- DOV511P

DeliverBetterAppsServiceVirtualizationTheater5- DOV507P

OrchestrateYourReleaseReleaseAutomationTheater5- DOV513P

Page 42: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

42 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Thankyou.

Stayconnectedatcommunities.ca.com

Page 43: Pre-Con Lab: Build Plug-ins for CA Release Automation Continuous Delivery Edition—Easy as 1, 2, 3

43 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

§ DevOps– ContinuousDelivery

§ FormoreinformationonDevOps– ContinuousDelivery,pleasevisit:http://cainc.to/PiTFpu