2、林栗-Deploy anywhere:Orchestrating of the DevOps toolchain ... › ganhuodocs › 2017-11-21...

Post on 08-Jun-2020

4 views 0 download

Transcript of 2、林栗-Deploy anywhere:Orchestrating of the DevOps toolchain ... › ganhuodocs › 2017-11-21...

Deployanywhere:orchestratingtheDevOpstoolchainwithJenkinsPipelineLinLi(Lily)2017.11.11

• AgileandDevOpsTransformation

• DevOpsToolchain

• ImplementationCI/CDwithJenkinsPipeline

• Q&A

u AGENDA

3

Who are we: since 1939Build,Operate,&SecureEnterpriseSoftware

Webuildenterprise-gradescalablesoftwarewithanalyticsbuiltin

4

DevOpstransformationalignmentwithScaledAgileFramework

5

DevOpstransformation: impacts theR&D&DevOpspractices andoperation

6

2nd Service FourthService

SuiteStrategy AgilePractices ContainersMicroservices

CrossSuiteExecutionDependencies

Continuous IntegrationDelivery&Demo

StandardsforSecurity,Quality&Compliance

AglanceofProjects

7

2nd Service FourthService

ProjectA

LegacymaintainComplexbuildchainToolmigration

ProjectB

Micro-service600+JenkinsjobRe-organizationTransition

ProjectC

KubernetsContainerizedCloudCross-teamworkintegration

12months

6months

3months2weeks

8

Product Suite

150+ commit/day150+ CI builds/day10 Version promotion/wk

Chamber

Service: 1448 UI test, 2000 API,26788 UT/buildSuite: 442 suite case/build

6 products/20+ services120+ Git repos140 Docker image145 running pods

Data FileRelease: 2017.10Feature scope:6899Capacity: 5815No. of features: 217Complexity level: 5Challenging level: 5

180+ engineers21 Scrum teams3 ARTs

• AgileandDevOpsTransformation

• DevOpsToolchain

• ImplementationCI/CDwithJenkinsPipeline

• Q&A

u AGENDA

OrchestrationoftheDevOpstoolchain

10

2nd Service FourthService

§ Goalsandfeaturematrix

§ Integrationwithothertools

§ Extensibilityandflexibility

§ Useradoption

§ Learning,implementationandmaintaining

§ Supportandcommunityactivity

§ scope

§ Pricing

§ POC,demo&trialfarm

11

Chooseappropriatetoolsforyourprogramororganization

• AgileandDevOpsTransformation

• DevOpsToolchain

• ImplementationCI/CDwithJenkinsPipeline

• Q&A

u AGENDA

13

CI/CDprocessoverview

14

InnovationsofCI/CD

• Servicedefinition:architecturedesignandprocess

• AgoodarchitectureimpactsprocessandDevOpsactivities

15

•MultipleleaveCI/CDpipelinesandassembly

• Serviceintegrationcontracttest

• Promotionandrevert

• Versionmappingmanifestcrossleaves

16

Operationasaservice

§ automationtesting

§ monitoring

§ easilystartupasaserviceinKubernetescluster

§ forksharedservicecross-teamandcontributebacktocentralrepository

17

Pipelineascode:defineprocessandrulesincode

§ Pipelineascode:defineprocessandrulesincode

§ Eachcomponentcanbuild,test,deploy,

§ splitsourcecodetoseparateGitrepositorywhichhasitsownJenkinsfileinrootdirectory

18

ReusablePipeline

• loadfromlocalfile

• ApplyFrom:URL• SharedLibraryfunctionality

• @Library('somelib')

• importcom.mycorp.pipeline.somelib.UsefulClass

19

Unifybuildchain

• UseMaventounifybuildchainfordifferenttechnicalstacksorcompilingtoolsofeachmicroservices:C++,Java,npm,Docker,yaml etc.

• SimplifythelogicprogrammingandconfigurationofJenkinspipeline

20

Pre-flightbuild &PrivateCI/CD

§ Pre-flightbuild:keepqualitygatebeforecodechangesbemergesintobranches

§ PrivateCI/CD:sharecomputingandstorageresourcepool

21

IntegrationwithGitHub

22

IntegrationwithGitHub

23

Deployanywhere

• Public,PrivateCloud• Lab,On-premises• Dev,QA,staging,demo• Small/medium/largeprofile,modes

24

Unifyconfiguration,environment,andmethodineachdifferentlayers• Infrastructureprovisioning:Terraform,CloudFormation,Ansible

• Pre-check

• Kubernetscluster:ContainerDeliveryFoundation

• Installation:Deploykit(Go+Ansible)

25

OrchestratewithJenkins:reusetools,stepsandstages

26

IntegrationwithSlackpost{

success{

slackSend channel:'#cicd',

color:'good',

message:“saysomething."

}

}

27

Infraascode

VPC

RDSPSQL

<<External DB>>

Route53DNS

WorkerWorkerWorker

K8S cluster

EC2

Elastic IP

MasterIngress

MasterIngress

MasterIngress

EBS

NFSonEC2

UseEBSaspersistentvolumeviaNFS

AWSInfraprovisionautomationvia

HAK8Scluster

DBsupportforPostgreSQL

Q&AThankYou.