Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CI/CD Practice for Cloud Native -- GITC 2018
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Jintao Zhang
November 22, 2018
Technology
53
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
100
CI/CD Practice With Docker -- PyCon China 2018
tao12345666333
0
100
Other Decks in Technology
See All in Technology
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
140
200個のGitHubリポジトリを横断調査したかった
icck
0
130
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.4k
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
370
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
250
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
180
【NRUG vol.18】なぜ多くのオブザーバビリティ導入は失敗するのか
nrug_member
0
130
Chainlitで作るお手軽チャットUI
ynt0485
0
240
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
180
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
1k
攻撃者視点で考えるDetection Engineering
cryptopeg
3
1.8k
EventBridge Connection
_kensh
5
710
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
A Tale of Four Properties
chriscoyier
163
24k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Building the Perfect Custom Keyboard
takai
2
790
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
420
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
430
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
AI: The stuff that nobody shows you
jnunemaker
PRO
8
710
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