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

Post on 16-Apr-2017

40 views 0 download

Transcript of 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

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