Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CI/CD Practice for Cloud Native -- GITC 2018
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Jintao Zhang
November 22, 2018
Technology
57
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CI/CD Practice for Cloud Native -- GITC 2018
Jintao Zhang
November 22, 2018
More Decks by Jintao Zhang
See All by Jintao Zhang
Docker 实践和原理 - NodeParty
tao12345666333
0
110
CI/CD Practice With Docker -- PyCon China 2018
tao12345666333
0
110
Other Decks in Technology
See All in Technology
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
17
9.1k
NW運用でNWトポロジ可視化ツールに期待すること/shumoku-meetup1
corestate55
2
120
AI時代、データエンジニアが一番おもろい
genshun9
0
290
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
1
240
Code4Lib JAPANカンファレンス2026 開会挨拶 / Code4Lib JAPAN Conference 2026: Opening Remarks
ykiyota
0
350
Omarchy Quattro の日本語設定周り
simosako
2
160
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
1
260
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
5
2.1k
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
700
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
150
OpenTelemetry eBPF Instrumentationの舞台裏 / Behind the Scenes of OpenTelemetry eBPF Instrumentation
ymotongpoo
4
1.2k
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
610
Featured
See All Featured
Navigating Team Friction
lara
192
16k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
500
Building an army of robots
kneath
306
46k
Navigating Weather and Climate Data
rabernat
0
510
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Facilitating Awesome Meetings
lara
57
7.1k
Code Reviewing Like a Champion
maltzj
528
40k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
330
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.8k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The SEO Collaboration Effect
kristinabergwall1
1
550
Transcript
云原⽣时代下的 CI/CD 实践 张晋涛 1 / 20
张晋涛 Container/Docker/Kubernetes https://github.com/tao12345666333 个⼈介绍 云原⽣时代下的 CI/CD 实践 2 / 20
⽬录 云原⽣ CI 实践 CD 实践 发展⽅向 云原⽣时代下的 CI/CD 实践
3 / 20
云原⽣ 微服务 Container Kubernetes 12 Factor APP 云原⽣时代下的 CI/CD 实践
4 / 20
优势 可靠 可治理 降低复杂度 发布周期可缩短 微服务 云原⽣时代下的 CI/CD 实践 5
/ 20
优势 可靠 可治理 降低复杂度 发布周期可缩短 挑战 服务拆分粒度 基础设施⽀持 配置化 CI/CD
效率和可⽤性 微服务 云原⽣时代下的 CI/CD 实践 5 / 20
优势 资源隔离 消除环境差异 标准交付单元 (OCI) Container 云原⽣时代下的 CI/CD 实践 6
/ 20
优势 资源隔离 消除环境差异 标准交付单元 (OCI) 实现/ 运⾏时 Docker Runc CRI-O
rkt Container 云原⽣时代下的 CI/CD 实践 6 / 20
Kubernetes 云原⽣应⽤的基⽯ 容器编排 部署 扩容 管理 云⼚商⽀持 CNCF 及其⽣态 云原⽣时代下的
CI/CD 实践 7 / 20
主体内容 标准化 可移植性 可扩展 减⼩环境差异 配置分离 应⽤⽆需关注⽇志存储等 12 Factor APP
云原⽣时代下的 CI/CD 实践 8 / 20
主体内容 标准化 可移植性 可扩展 减⼩环境差异 配置分离 应⽤⽆需关注⽇志存储等 含义 应⽤有基准代码( 代码仓库)
依赖隔离 线下/ 线上环境尽量⼀致 配置管理 基础组件⽀持 12 Factor APP 云原⽣时代下的 CI/CD 实践 8 / 20
发展阶段 ⼿⼯集成 批量⼯具 ⾃动化 CI 实践 云原⽣时代下的 CI/CD 实践 9
/ 20
发展阶段 ⼿⼯集成 批量⼯具 ⾃动化 CI 服务 代码托管(GitHub/GitLab) Jenkins/JenkinsX Travis CI/Circle
CI AWS CodeBuild/Azure DevOps CI 实践 云原⽣时代下的 CI/CD 实践 9 / 20
发展阶段 ⼿⼯集成 批量⼯具 ⾃动化 CI 服务 代码托管(GitHub/GitLab) Jenkins/JenkinsX Travis CI/Circle
CI AWS CodeBuild/Azure DevOps GitLab CI 灵活/ 易⽤ 开放 C/S 架构 原⽣ Kubernetes ⽀持 CI 效率优化 CI 实践 云原⽣时代下的 CI/CD 实践 9 / 20
Pipeline 云原⽣时代下的 CI/CD 实践 10 / 20
构建镜像 image: registry.docker-cn.com/taobeier/docker:18.03 services: - name: registry.docker-cn.com/taobeier/docker:stable-dind alias: docker variables:
DOCKER_DRIVER: overlay2 IMAGE_NAME: $CI_REGISTRY/$CI_PROJECT_PATH before_script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY .build_template: &build_definition script: - docker build -t "$IMAGE_NAME:$IMAGE_TAG" . - docker images - docker push "$IMAGE_NAME:$IMAGE_TAG" build-latest: variables: IMAGE_TAG: latest script: <<: *build_definition 云原⽣时代下的 CI/CD 实践 11 / 20
运⾏测试 image: registry.docker-cn.com/taobeier/docker variables: DOCKER_DRIVER: overlay2 # overlay2 is best
but need kernel >= 4.2 services: - name: registry.docker-cn.com/taobeier/docker:stable-dind alias: docker build_and_test: tags: - build script: - apk add --no-cache py-pip - pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple docker-compose - docker-compose up -d - docker-compose run --rm web pytest -s -v tests/test_session.py 云原⽣时代下的 CI/CD 实践 12 / 20
基础镜像选择 尽可能减少镜像体积 但并不是越⼩越好 Alpine Linux 使⽤ musl ⽽不是 glibc 云原⽣时代下的
CI/CD 实践 13 / 20
交付 源码/tag/commit id tag 包/zip 包 war 包/wheels 包/rpm 包/
⼆进制 Docker 镜像 CD 实践 云原⽣时代下的 CI/CD 实践 14 / 20
交付 源码/tag/commit id tag 包/zip 包 war 包/wheels 包/rpm 包/
⼆进制 Docker 镜像 部署 ⼿动 平台化 CD 实践 云原⽣时代下的 CI/CD 实践 14 / 20
InfraBox knative 动态 workflow 不⽀持 GitLab 平台化 云原⽣时代下的 CI/CD 实践
15 / 20
Argo DAG ⼯作流引擎 CRD All in K8S 平台化 云原⽣时代下的 CI/CD
实践 16 / 20
GitLab CI 灵活 易⽤ 平台化 云原⽣时代下的 CI/CD 实践 17 /
20
特点 All in K8S Kubectl Helm deploy: image: $CI_REGISTRY/devops/helm stage:
deploy script: - helm init --client-only - helm upgrade --install --set image.tag=$(cat VERSION) --wait --namespace $NAMESPACE only: - master GitLab CI for CD 云原⽣时代下的 CI/CD 实践 18 / 20
集中式管理 数据统计 GitLab Bot Issue 处理 授权管理 覆盖率 配置验证 发展⽅向
云原⽣时代下的 CI/CD 实践 19 / 20
Thanks! Q&A 云原⽣时代下的 CI/CD 实践 20 / 20