jfrog-企业落地devops方法和实践_第1页
jfrog-企业落地devops方法和实践_第2页
jfrog-企业落地devops方法和实践_第3页
jfrog-企业落地devops方法和实践_第4页
jfrog-企业落地devops方法和实践_第5页
免费预览已结束,剩余37页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲人介绍JFrog中国首席架构师(11年研发老兵,曾就职IBM、HPE、爱奇艺)◦主导了J

F

r

o

g国内大型客户的包管理平台主导HPE

Cloud云平台的架构和研发主导

Rational

生命周期管理平台的开发Info

Q

特约社区编辑,文章多次

在InfoQ,DBAPlus,高效运维,Docker社区等技术社区GIAC全球架构师大会金牌讲师Dev

Ops

国际

金牌讲师日程DevOps?方法为什么要DevOpsQ&A强依赖

IT系统的非IT企业非互联网企业遇到的发布频率低巨石应用的更新速度无法跟上市场变化发布难依赖手工发布,错误质量差•CICD流程不标准,导致质量不可控信息孤岛烟囱式CICD工具链D

e

v

O

p

s从何而来Patrick

Debois

2009

年DevOpsDays

大会中形成:DevOps集文化理念、实践和工具于一身,可以提高企业高速交付应用程序和服务的能力,与使用传统

开发和基础设施管理流程相比,能够帮助企业更快地发展和改进产品。D

e

v

O

p

s的发展趋势D

e

v

O

p

s的收益D

e

v

O

p

s会得到什么收益?实现100%自动化发布部署频率加快6倍部署时间缩短63%部署成本降低每年节省40日程DevOps?方法为什么要DevOpsQ&A持续交付过程中浪费的时间需求拆分应用架构…准备/测试环境…制品管理部署文档…配置环境人工部署…持续安全

安全需求设计:n

TFS

/

ALM

Octane安全静态扫描分析n

Sonarcube

&

Fortify扫描分析n

JFrog

Xray

&

BlackDuck

&

WebInspect

&

AppScan扫描分析n

AppDefender&

JFrog

Xray持续协作Software

Tools:n

UFTn

AppScann

JFrog

Xraynn

Jmeter

/

LoadRunner

n

Selenium

/

Appnium

n

TestLink持续计划&定义需求管理项目管理发布管理资源管理消耗管理缺陷管理敏捷过程管理架构设计安全设计测试计划项目经理持续集成前后端开发需求和代码关联缺陷和代码关联代码单元测试覆盖率代码静态扫描构建/打包自动化测试代码评审容器镜像构建制品库管理质量元数据收集持续发布虚拟机发布容器发布CMDB自动化发布工具Software

Tools:OpenStackDocker

/

Kubernetes

/

OpenshiftDevice42JenkinsAnsible

/

Chef

/Puppet持续运维自动扩容/缩容故障自愈•服务治理蓝绿发布日志分析告警Software

Tools:Kubernetes

/

OpenshiftZabbixSpring

CloudELKSpinnakerPrometheusGrafanaIstio持续测试测试功能性测试安全

测试开源组件接口测试集成测试性能测试UI自动化测试Software

Tools:In

liJ,

Eclipse,

VSGitlab

/

SVNSonarCube/FortifyJenkinsArtifactoryGerritJunit

/

TestNGSoftware

Tools:Jira/禅道ConfluenceVisoAxureTFS/RTC/PolarionJira

Zephyr

/

TestLink发布速度KPI发布质量KPI研发生产力KPI安全KPISoftware

Toolsn

Grafana/

Hygieia

/

Artifactory

metadata持续评估项目管理协作工具故障告警机器人代码提交机器人自动化部署机器人Software

Toolsn

DialogFlow

/

Slack

/

HipChat企业级DevOps知识体系产品经理业务部门架构师测试团队开发测试运维Dev

EnvFTSITUATProd运维需求设计发布项目管理GitlabConfluenceJira微服务服注务册组与件发化现Restful熔断器FlywayDbSpring

Cloud

ConfigConsulSpring

BootSpring

Cloud持续集成精

想构建

测试持续部署持续运维策略需变缺迭方法求更陷代技术管管管管理

理工具过程管理持续反馈服配版自单功仓自容配监日容故运漏务置本动元能库动器置控志量障营洞治管控构测测管部集编安分规恢反法理

理制建试试理署群排全析划复馈务协作通知Service

MeshGrafanaPrometheusELKHygieiaSlackXRayDevOps 门户&可视化一期计划两期计划DevOps建设的目标(示例)ApolloAnsibleKubernetesArtifactoryOpenshiftJenkinsSeleniumJUnitTestLinkTestNG项目管理–敏捷至精益敏捷模式->项目开发从瀑布式开发(项目开发模式->产品开发模式)需求管理开发持续集成制品管理自动化测试发布管理容器化需求管理–Jira/禅道需求条目化管理需求管理开发持续集成制品管理自动化测试发布管理容器化架构管理

–巨石应用

微服务巨石应用痛点:项目变大后部署,

难即使细微的变更也需要全量发布模块紧耦合,无法独立上线开发框架,语言单一,难以接触新的技术栈和框架需求管理开发持续集成制品管理自动化测试发布管理容器化架构管理

–巨石应用

微服务Martin

Fowler:Strangler绞杀者模式

/bliki/StranglerApplication.html需求管理开发持续集成制品管理自动化测试发布管理容器化架构管理

–巨石应用

微服务数据库拆分Source

from:Thoughtworks’s

blog需求管理开发持续集成制品管理自动化测试发布管理容器化组织架构管理(Netflix)扁平化敏捷团队(2Pizza)自运维区分关注点架构管理–功能开关原理https:/bliki/FeatureToggle.html种类需求管理开发持续集成制品管理自动化测试发布管理容器化持续交付流水线元数据管理需求管理开发持续集成制品管理自动化测试发布管理容器化持续交付流水线管理-Jira和Jenkins集成Jira创建任务Git–Git

commit

–m

“#JIRA-101

add

fix

for

login

form”ChangeSets

in

Jenkins需求管理开发持续集成制品管理自动化测试发布管理容器化持续交付流水线管理–集中管理流水线分散式管理集中式管理ING荷兰国际需求管理开发持续集成制品管理自动化测试发布管理容器化持续交付流水线管理–ING荷兰国际需求管理开发持续集成制品管理自动化测试发布管理容器化支持了500种应用交付TTM

小于6周减少50%的线上发布事故发布次数12,000次/月持续交付流水线管理–管理流水收益需求管理开发持续集成制品管理自动化测试发布管理容器化制品管理问题:不同团队各自或FTP,不能,没有接口开发团队GitlabJenkinsMaven库Nexus开发团队GitlabJenkins开发团队GitlabJenkins开发团队SVNJenkins开发团队GitlabJenkins开发团队SVNJenkins开发团队GitlabJenkins开发团队SVNBambooDocker库DockerRegistryNPM库NPMC#,.Net库Nuget开发团队SVNMSbuild开发团队GitlabJenkinsFTP/SVNAnsibleKubernetesS发布流程制品库管理容易宕机不支持高可用工具碎片化不支持多地不支持容灾需求管理开发持续集成制品管理自动化测试发布管理容器化制品管理–管理需求管理开发持续集成制品管理自动化测试发布管理容器化开发团队Gitlab开发团队Gitlab开发团队Gitlab开发团队SVN开发团队Gitlab开发团队SVN开发团队Gitlab开发团队SVN开发团队SVN开发团队GitlabS制品库管理管理发布流程0宕机高可用工具异地一键容灾持续集成,自动化测试制品管理需求管理开发持续集成制品管理自动化测试发布管理容器化制品管理-记录发布元数据需求管理开发持续集成制品管理自动化测试发布管理容器化测试管理

– 质量关卡第

开源组件扫描通过率静态代码覆盖率部署频率发布时长QA验证时长部署成功率需求覆盖率功能的使用频率反馈故障修复时间部署机器信息配置信息CapitalOne

银行需求管理开发持续集成制品管理自动化测试发布管理容器化发布管理-基于元数据的部署将部署信息可视化我要部署的

如何实现?含了什么需求?从Ar

t

i

f

a

c

t

o

r

y获取所有的关联文件的元数据遍历每个文件元数据的信息聚合,并生成可视化文件关联图

谱。12345需求管理开发持续集成制品管理自动化测试发布管理容器化配置管理

复杂配置管理

Artifactory

+

Ivy应用配置文件描述依赖信息Ivy

描述C++依赖进行

部署需求管理开发持续集成制品管理自动化测试发布管理容器化Dev

Repo

1PreFlightDev

Repo

nSynchronous

Dev

InitiatedPromotion

TaggingSynchronous

Dev

InitiatedPromotion

TaggingAsynchronous

RM

Initiated

Promotion

StagesMultiple

Times

a

DayMultiple

Times

a

DayBuildPublish

to

ArtifactoryCheckinCodeBuildPublish

to

ArtifactoryCheckin

CodeContinuous

Builds

in

HudsonSCMPreProdSCM发布管理–多团队协作模型需求管理开发持续集成制品管理自动化测试发布管理容器化发布管理-让机器自动化找到部署包Art

i

f

a

ct

or

y

AQL/

C

LIAn

sible

Pla

ybook需求管理开发持续集成制品管理自动化测试发布管理容器化发布管理

-

网络

下发布国内某商业银行案例对接

系统自动化推送到生产环境,无需人工拷贝权限可控扫描需求管理开发持续集成制品管理自动化测试发布管理容器化交付管理•多地二进制仓库高可用容灾备份发布管理-某商业银行发布管理案例需求管理开发持续集成制品管理自动化测试发布管理容器化发布管理–腾讯的流水线需求管理开发持续集成制品管理自动化测试发布管理容器化Dynamic

control

over

your

application’s

deployment●Helmis

the

package

manager

for

Kubernetes.Like

‘yum’

for

CentOS/RedHatYour

whole

application

described

in

a

singlepackage

-

helm

chart

(template

yamls)Default

configuration

values

(values.yaml)Single

version

fo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论