Upload
ca-technologies
View
40
Download
0
Embed Size (px)
Citation preview
World®’16
Pre-ConLab:BuildPlug-insforCAReleaseAutomationContinuousDeliveryEdition– Easyas1,2,3WalterGuerrero- Eng.ServicesArchitect- CATechnologiesJackyMahadab- Sr.Eng.ServicesArchitect- CATechnologies
DO5X03L
DEVOPS
2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Abstract
Implementingcontinuousdeliveryrequiresmanytoolsworkinginconcert,fromapplicationlifecyclemanagementtotestautomationtochangemanagement(andmanyothers).TheCAReleaseAutomationContinuousDeliveryEditionsolutionoffersasinglepointofcontroltoplan,manageandorchestratecomplexreleases,deliveringhigh-valueanalyticsforapplicationcontent,releaseprocessesandprojectteams.Jointhishands-onlabtolearnaboutimportantcontinuousdeliveryintegrationpointsandhowtodevelopplug-instosupportyourdiverseecosystem.Andyoudon’thavetobeadevelopertodoit.
WalterGuerrero&JackyMahadabCATechnologies
3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Agenda
INTRODUCTIONTOCARELEASEAUTOMATIONCDEDITIONPLUG-INARCHITECTURE
BESTPRACTICESFORCARELEASEAUTOMATIONCDEDITIONPLUG-INDEVELOPMENT
QUESTIONSANDANSWERS
LABWALKTHROUGH
INTRODUCTIONTOLABENVIRONMENT
HANDSONLAB
1
2
3
4
5
6
4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAReleaseAutomationContinuousDeliveryEditionPlug-inArchitecture
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
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
7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAReleaseAutomationCDEditionPlug-inFrameworkExpandedDefinition
ApplicationModelsfromDeploymentTools
Plug-inscanimportapplicationmodelsfromCAReleaseAutomationforusein CAReleaseAutomationCDEdition.
ContinuousDeliveryTaskInstrumentation
Plug-intasksletyouinstrumentimportantactionsinyourcontinuousdeliverypipelinefromremotecomponentsinthecontextof CAReleaseAutomationCDEdition releases.
ReleaseContentfromTrackingTools
Plug-inscanintegratewithtrackingtoolstoannotatereleaseswithrelatedworkitems.
8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WhatissupportedbytheCAReleaseAutomationCDEditionPlug-inFramework?
Theplug-inframeworksupportsthefollowingcapabilities:§ Configuringendpointconnectionstotheremotecomponent§ Creatingautomatedtasksthatinstrumentoperationsintheremote
component§ Importingapplicationandenvironmentmodels§ Importingcontent
9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Pre-packagedCAReleaseAutomationCDEditionPlug-ins
ThefollowingPlug-insaremadeavailableaspartofyourinstallation§ Atlassian JIRA§ CAReleaseAutomation§ CAAgileCentral(formerlyRally)
§ RESTFULAPIcalls§ ServiceNow
10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
BestPracticesforDevelopingCAReleaseAutomationCDEditionPlug-ins
11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAReleaseAutomationCDEditionPlug-inDevelopmentRequirements
Thearchitectureoftheplug-inframeworkisintendedtoallowforquickandflexibledevelopmentofintegrationswithremotecomponentsinyourcontinuousdeliverypipeline
Theplug-inframeworkdoesnotrequireanyspecificprogramminglanguageordeliverymodel§ AsdynamicwebJavaprojectthatyou
install(similartothecurrentpackagedplug-ins)
§ Asanonlineservicethattheproductconnectsto,whichcouldbeusingmicroservices
12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAReleaseAutomationCDEditionPlug-inMessageArchitecture
All packagedplug-insareJavawebapplicationsthatarepackagedasTomcat8WARfilesthatyoudeploylocallyorremotelyfromthecoreproductinstallation.
13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
InstallationAftertheplug-inhasbeenwrittenandtested.AWARiscreated,thisisthedistributionmechanism.
HTTPServicesTheplug-inmustbeanHTTPservicethatcanacceptaPOSTrequest,instrumenttherequestedoperation,andreturnaresponse.
ManifestTheplug-inmustincludeamanifest.json filethatdetailstheplug-in’scapabilities.
CAReleaseAutomationCDEditionPlug-inDevelopmentRequirements
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
15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAReleaseAutomationCDEditionPlug-inDynamicWebProjectSetup
TypicalsetupofdynamicwebprojectinEclipse
16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAReleaseAutomationCDEditionPlug-inDynamicWebProjectSetup
TypicalviewoftheEclipsedynamicwebprojectsetupwiththesupportingobjects
17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAReleaseAutomationCDEditionPlug-inWeb.xmlDefinitionTheweb.xmlneedstobedefinedwiththeentriesshown
18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAReleaseAutomationCDEditionPlug-inManifest.json DefinitionManifest.json definesthepluginandthetaskstobeexecuted
19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAReleaseAutomationCDEditionPlug-inJAVAClasses
CreatethenecessaryJAVAclassesasneeded.
Inthisexamplethatwouldbe:– slackConnectivityTest.java– slackSendMessage.java
20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
LabWalkThrough
21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
SetupMessagingviaSlack
§ CommunicatingwiththereleaseteamviaSlack§ Plug-inswillbecreatedusingtheSLACKWEBAPI§ Messageswillbesenttothedesignatedchanneltoprovidea
statusoftheCDErelease
22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Createreleaseandaddtaskcontainingcustom
plug-in
Verifypre-requisites CreatethedynamicwebprojectinEclipse
Addnecessaryobjectstothecustomplugin
AddendpointtoRACDEsystem
Installcustomplug-in CreateWARfile Testcustomplug-ininEclipse
CDESlackPluginHighLevelWorkflow
23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Hands-onLab
24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
LabAims§ InstallerchecksforJDKandpromptsforTomcatinstallationfolder
§ DownloadfromCAsupportsiteCreatecustomplug-in
Createtaskandverificationlogic
Generatewarfile TestinCAReleaseAutomationCDEdition
25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
StartingupEclipseProject
§ CommunicatingwiththereleaseteamviaSlack§ Plug-inswillbecreatedusingtheSLACKWEBAPI§ Messageswillbesenttothedesignatedchanneltoprovidea
statusoftheCDErelease
26 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
SetupMessagingviaSlack
§ Wearegoingtouseapre-built“dynamicwebproject”intheEclipseinstallationinyourVM
§ StartupEclipsebyclickingontheicononyourdesktop
27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Updateweb.xml§ Updatetheweb.xml§ Changeparm-nameto:com.ca.plugins.slack§ Changeurl-patternto:/servlet/*§ Savefile
28 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Updatingmanifest.json§ Updateendpoint
parameterforURLto:“URL”
§ Updateendpointparameterfortokento:“token”
§ UpdatetaskURLto:“api/chat.postMessage”
29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CreatingWARfile§ Createwarfilebyhighlight
projectàExportàWar file§ Entertheinformationas
shown§ Copythewarfiletoyour
%TOMCAT%\webapps folder§ Waitafewminutesforthe
WARfiletobeloadedtoyourTomcatinstallation
30 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WarFileExpandedinwebapps§ Onceyoucopythepluginthatyouhave
createdandithasbeenexpandedtothewebapps folder
§ Verifyyourinstallationbybringupyourbrowser
§ Enterthefollowing:– http://localhost:8080/cdd-slack-plugin/manifest.json
§ Themanifest.json willbedisplayed
31 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
AddPlugintoCDE§ AddplugininCDE
– AdminstrationàPlug-ins
§ Registerplugin§ Enterinformationas
shown§ Click“Register”
buttontocompletetheregistration
32 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
NewPluginRegistration§ Thenew“slack”pluginhasbeenadded
33 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
AddEndpointtoCDE§ AddendpointinCDE
– AdminstrationàEndpoints
§ AddthenewSlackendpoint§ Enterinformationasshown§ Click“Add”button
34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
EndpointAdded§ Checkthattheendpointisshowninthelist
35 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
AddTasktoRelease§ Switchto“Releases”§ Clickon“ReleaseA”
36 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
AddTasktoRelease§ Clickthe“AddTask”link§ Createanew“SendMessage”task§ Enterthevaluesasshown§ Clickthe“Create”button§ Runthe“DevTest”phase
37 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
CAReleaseAutomationCDEdition:AdaptableforAnyEnterpriseEnvironment
EasytobeimplementedandeasytouseSIMPLEWorkswithanytoolortechnology(commercial,homegrown,opensource,SaaSoronprem)OPENSupportstoolsandtechnologiesspanningtheContinuousDeliverypipelineBROAD
38 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
ExperiencesPlanningcustomRACDEplug-ins
Creationoftheplug-ins
InstallationinRACDEinstallation
UtilizationofRACDEplug-ins
KeyTopicsLearnabouttheCAReleaseAutomationCDEdition(RACDE)plug-inarchitecture
Howtheplug-insinteractinRACDE
FindingsLearntocreateacustomRACDEplug-inutilizinganEclipsedynamicwebprojectforthegenerationoftheslackplug-ins
SummaryAFewWordstoReview
39 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Questions?
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
41 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
MustSeeDemos
ModernizeAppDeliveryIntegratedCDTheater5- DOV501P
DeliverTestDataFasterTestDataManagerTheater5- DOV511P
DeliverBetterAppsServiceVirtualizationTheater5- DOV507P
OrchestrateYourReleaseReleaseAutomationTheater5- DOV513P
42 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Thankyou.
Stayconnectedatcommunities.ca.com
43 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
§ DevOps– ContinuousDelivery
§ FormoreinformationonDevOps– ContinuousDelivery,pleasevisit:http://cainc.to/PiTFpu