Submit Search
Upload
持续集成中的反模式
•
1 like
•
639 views
Kai Feng Zhang
Follow
AgileTour 2011 天津
Read less
Read more
Technology
Report
Share
Report
Share
1 of 33
Download now
Download to read offline
Recommended
持续集成(CI)可以说是软件开发领域的一个老话题,如何利用有限的资源实现高效的持续集成系统,辅助日常开发和测试一直是一个永恒的话题。在云计算时代,这个话题的内涵和外延发生着一些有趣变化,众所周知云计算的弹性计算、按需付费、高度自动化给软件开发和运维带了便捷,持续集成的实施过程涉及到软件开发的整个生命周期,如何能快速、可靠地构建,部署,测试每次发生变更的代码,这是衡量持续集成系统优劣的唯一标准。这次公开课将以某企业真实案例作为背景,讲解如何利用开源云计算框架(OpenStack)搭建企业私有云,实现硬件资源高度利用和增强部署灵活性,并最终提升持续集成服务能力。通过这次公开课的分享,希望对正在实施或者将要实施持续集成的听众带来启发和帮助。
Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战
Yong Luo
d2沙龙
前端编译平台
前端编译平台
Welefen Lee
百度前端性能监控与优化实践
百度前端性能监控与优化实践
Welefen Lee
The topic shows the design process for software architect.Also there are serveal architect style descibed int the topic. In the end , to demo a call center atchitect design.
客服系統的軟體架設計分享
客服系統的軟體架設計分享
Johnson Gau
持续集成入门
持续集成入门
Lieping Xie
从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1
天青 王
Introduction of Consul.
Monitoring Tools 大亂鬥 - Consul
Monitoring Tools 大亂鬥 - Consul
Andrew Wu
南臺科技大學 資訊工程系課程演講 2016.04.07
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
Tun-Yu Chang
Recommended
持续集成(CI)可以说是软件开发领域的一个老话题,如何利用有限的资源实现高效的持续集成系统,辅助日常开发和测试一直是一个永恒的话题。在云计算时代,这个话题的内涵和外延发生着一些有趣变化,众所周知云计算的弹性计算、按需付费、高度自动化给软件开发和运维带了便捷,持续集成的实施过程涉及到软件开发的整个生命周期,如何能快速、可靠地构建,部署,测试每次发生变更的代码,这是衡量持续集成系统优劣的唯一标准。这次公开课将以某企业真实案例作为背景,讲解如何利用开源云计算框架(OpenStack)搭建企业私有云,实现硬件资源高度利用和增强部署灵活性,并最终提升持续集成服务能力。通过这次公开课的分享,希望对正在实施或者将要实施持续集成的听众带来启发和帮助。
Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战
Yong Luo
d2沙龙
前端编译平台
前端编译平台
Welefen Lee
百度前端性能监控与优化实践
百度前端性能监控与优化实践
Welefen Lee
The topic shows the design process for software architect.Also there are serveal architect style descibed int the topic. In the end , to demo a call center atchitect design.
客服系統的軟體架設計分享
客服系統的軟體架設計分享
Johnson Gau
持续集成入门
持续集成入门
Lieping Xie
从CI到CD[麻袋理财王天青]v1
从CI到CD[麻袋理财王天青]v1
天青 王
Introduction of Consul.
Monitoring Tools 大亂鬥 - Consul
Monitoring Tools 大亂鬥 - Consul
Andrew Wu
南臺科技大學 資訊工程系課程演講 2016.04.07
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
Tun-Yu Chang
Visual Studio Code Remote Development introduction GCPUG.TW Meetup #53
VSCode Remote Development
VSCode Remote Development
Philip Zheng
C# 深耕系列 (2) Part 2 以實例方式介紹如何使用 DDD 分析與設計應用程式。
領域驅動設計 (Domain Driven Design)
領域驅動設計 (Domain Driven Design)
Jeff Chu
當紅的容器化技術 Docker, 已在 Linux 平台下相當盛行。熟悉 .NET 的開發人員,該如何搭上容器化技術的列車,更快的轉移到微服架構? 如何善用容器化技術加速開發流程? 微服務架構下能更容易的整合其他成熟的解決方案。 這個 Session 會展示如何用 .NET + Windows Container ,來完成這任務。
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Andrew Wu
PyCon China 2012 孙毅
PyCon China 2012 孙毅
Yi Sun
Modern Front-End Workflow with Webpack.
SITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with Webpack
昱安 周
介紹 Agile 與 Scrum 運作 以及在運作中常見問題
Scrum深入淺出
Scrum深入淺出
Taien Wang
快速且持續的交付產品,是敏捷精神中很重要的一環,透過不斷的交付、驗證、學習可以讓產品的方向能夠持續被修正並帶來價值, 本次的分享將和大家介紹如何在持續交付的情況下盡可能維持高品質的程式碼。分享中將可能會提到但不限於 * 使用者故事對照、實例化需求 * 單元、整合測試 * 程式碼品質分析工具 * Pair Programming * 持續整合、部署工具
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版
Kirk Chen
Study4Love 與大師對談, 2018/01/06
與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構
Andrew Wu
互联网持续交付实施案例分享
互联网持续交付整形记
互联网持续交付整形记
Ryan YU
106年桃園市教育局Docker研習班 Day1
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
Philip Zheng
SDN x Cloud Native Meetup #38 介紹 VSCode Remote Development 工具,示範如何透過 VSCode Development Container 來打造跨語言的容器式開發環境,包括 Java、Python、Node.js、Go 等程式語言都能夠使用此方式來開發系統,並且一個專案一個容器,不會污染本機環境,可以安心地執行程式開發工作。
VSCode Remote Development 介紹
VSCode Remote Development 介紹
Philip Zheng
大規模微服務導入,困難的地方不再於技術 (技術有太多人提供教學與分享了),難的地方在於經驗。有實際導入的經驗,不論成功或是失敗,獲得的收穫都遠大於單純學習技術帶來的效益。這次的 Session 我想分享我在 91APP 擔任架構師的過程中,為了協助團隊從傳統的單體式架構,逐步打造基礎,替團隊鋪好邁向微服務架構過程的經驗。在我們的環境中有不少架構設計上的挑戰,包含短期內還必須支援 .NET Framework, 設計及部署上我們也面臨跨市場,跨區域部署與維運的需求,流量也必須能支撐雙十一這樣大型搶購的尖峰衝擊。相信這些挑戰已經涵蓋了大部分系統必須面對的門檻。91APP 邁向微服務的目標仍然在進行中,即使這樣,在過去的一年多我們已經將架構與開發框架都逐一到位了,隨著 .NET Core 3.0 的發表,與年底 3.1 LTS 版本即將發布,使用 .NET Core 為基礎來開發大型系統已經越來越成熟了。這次的 Session 我將分為上下兩場,第一場我想說明背後架構設計的考量,第二場則帶領大家一窺我們整合框架的設計方式,並且包含大量的 Source Code / Demo. 希望我們的實戰經驗,能給各位帶來收穫與幫助!
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
Andrew Wu
如何使用Azure Devops Service與一些奇怪技巧
我們與Azure DevOps的距離
我們與Azure DevOps的距離
Edward Kuo
講者:Dino 講者簡介:現任微軟最有價值專家、twMVC 核心講者 簡介: SignalR 是一整套設計精良的 Web 通訊架構,整合了多種達成 Server 與 EndPoint 的連結方式 (Long Pooling、Server Sent Event、WebSocket)。 本議程在 ASP.NET MVC 上運用 SignalR 重現台北市公車動態揭示板的實作過程,您可以從中學習該如何在應用程式中設計運用 SignalR 的通訊方式,達成同時多使用者上線卻依然穩定的系統,在完成系統後,更展示與 Azure 的完美結合使得系統得到更高的可用性。 課程時間:70分鐘
SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17
twMVC
study4.tw五月份
James-版本控制
James-版本控制
Study4TW
在開發的過程中,隨手寫寫 Log 算是家常便飯。許多開發團隊習慣將 Log 以文字檔方式存放,但系統數量突增後,維運團隊要如何有效地管理及分析這些資訊呢? Exceptionless 是一套基於 Elasticsearch 的開源監控套件,除了豐富的 GUI 介面外,也相容於許多 .NET 的開發框架。 本次將分享我們從無到有導入的過程,並介紹如何在不費吹灰之力享有一個輕巧的監控平臺。 講者:Roberson
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 Log
twMVC
叡揚資訊 微服務風雲 Michael Smith 的任務 活動網址: https://gssweb.gss.com.tw/eDM/eDM20190603_GSS-ITs_microservices.html
微服務對IT人員的衝擊
微服務對IT人員的衝擊
Philip Zheng
2022-03-03 Study Area 酷學園
十二項架構設計原則
十二項架構設計原則
Philip Zheng
一個 iOS junior 把玩 jenkins 一週的心得。
十分鐘上手 I os jenkins ci
十分鐘上手 I os jenkins ci
Ting-Yen Kuo
Windows Server 2019 隨之而來的容器功能,帶領 Windows 容器化邁向另一個里程碑。本次演講將介紹全新容器功能,以及跟 Kubernetes 整合的歷程,並透過線上展示 Windows Server 2019 加入到 Kubernetes 叢集的完整步驟! 👉 Windows Server 高峰會 https://www.microsoft.com/taiwan/events/windows-server-2019/
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
Will Huang
Continuous integration
Continuous integration
netdbncku
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min 中文
Shuyong Lin
More Related Content
What's hot
Visual Studio Code Remote Development introduction GCPUG.TW Meetup #53
VSCode Remote Development
VSCode Remote Development
Philip Zheng
C# 深耕系列 (2) Part 2 以實例方式介紹如何使用 DDD 分析與設計應用程式。
領域驅動設計 (Domain Driven Design)
領域驅動設計 (Domain Driven Design)
Jeff Chu
當紅的容器化技術 Docker, 已在 Linux 平台下相當盛行。熟悉 .NET 的開發人員,該如何搭上容器化技術的列車,更快的轉移到微服架構? 如何善用容器化技術加速開發流程? 微服務架構下能更容易的整合其他成熟的解決方案。 這個 Session 會展示如何用 .NET + Windows Container ,來完成這任務。
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Andrew Wu
PyCon China 2012 孙毅
PyCon China 2012 孙毅
Yi Sun
Modern Front-End Workflow with Webpack.
SITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with Webpack
昱安 周
介紹 Agile 與 Scrum 運作 以及在運作中常見問題
Scrum深入淺出
Scrum深入淺出
Taien Wang
快速且持續的交付產品,是敏捷精神中很重要的一環,透過不斷的交付、驗證、學習可以讓產品的方向能夠持續被修正並帶來價值, 本次的分享將和大家介紹如何在持續交付的情況下盡可能維持高品質的程式碼。分享中將可能會提到但不限於 * 使用者故事對照、實例化需求 * 單元、整合測試 * 程式碼品質分析工具 * Pair Programming * 持續整合、部署工具
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版
Kirk Chen
Study4Love 與大師對談, 2018/01/06
與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構
Andrew Wu
互联网持续交付实施案例分享
互联网持续交付整形记
互联网持续交付整形记
Ryan YU
106年桃園市教育局Docker研習班 Day1
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
Philip Zheng
SDN x Cloud Native Meetup #38 介紹 VSCode Remote Development 工具,示範如何透過 VSCode Development Container 來打造跨語言的容器式開發環境,包括 Java、Python、Node.js、Go 等程式語言都能夠使用此方式來開發系統,並且一個專案一個容器,不會污染本機環境,可以安心地執行程式開發工作。
VSCode Remote Development 介紹
VSCode Remote Development 介紹
Philip Zheng
大規模微服務導入,困難的地方不再於技術 (技術有太多人提供教學與分享了),難的地方在於經驗。有實際導入的經驗,不論成功或是失敗,獲得的收穫都遠大於單純學習技術帶來的效益。這次的 Session 我想分享我在 91APP 擔任架構師的過程中,為了協助團隊從傳統的單體式架構,逐步打造基礎,替團隊鋪好邁向微服務架構過程的經驗。在我們的環境中有不少架構設計上的挑戰,包含短期內還必須支援 .NET Framework, 設計及部署上我們也面臨跨市場,跨區域部署與維運的需求,流量也必須能支撐雙十一這樣大型搶購的尖峰衝擊。相信這些挑戰已經涵蓋了大部分系統必須面對的門檻。91APP 邁向微服務的目標仍然在進行中,即使這樣,在過去的一年多我們已經將架構與開發框架都逐一到位了,隨著 .NET Core 3.0 的發表,與年底 3.1 LTS 版本即將發布,使用 .NET Core 為基礎來開發大型系統已經越來越成熟了。這次的 Session 我將分為上下兩場,第一場我想說明背後架構設計的考量,第二場則帶領大家一窺我們整合框架的設計方式,並且包含大量的 Source Code / Demo. 希望我們的實戰經驗,能給各位帶來收穫與幫助!
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
Andrew Wu
如何使用Azure Devops Service與一些奇怪技巧
我們與Azure DevOps的距離
我們與Azure DevOps的距離
Edward Kuo
講者:Dino 講者簡介:現任微軟最有價值專家、twMVC 核心講者 簡介: SignalR 是一整套設計精良的 Web 通訊架構,整合了多種達成 Server 與 EndPoint 的連結方式 (Long Pooling、Server Sent Event、WebSocket)。 本議程在 ASP.NET MVC 上運用 SignalR 重現台北市公車動態揭示板的實作過程,您可以從中學習該如何在應用程式中設計運用 SignalR 的通訊方式,達成同時多使用者上線卻依然穩定的系統,在完成系統後,更展示與 Azure 的完美結合使得系統得到更高的可用性。 課程時間:70分鐘
SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17
twMVC
study4.tw五月份
James-版本控制
James-版本控制
Study4TW
在開發的過程中,隨手寫寫 Log 算是家常便飯。許多開發團隊習慣將 Log 以文字檔方式存放,但系統數量突增後,維運團隊要如何有效地管理及分析這些資訊呢? Exceptionless 是一套基於 Elasticsearch 的開源監控套件,除了豐富的 GUI 介面外,也相容於許多 .NET 的開發框架。 本次將分享我們從無到有導入的過程,並介紹如何在不費吹灰之力享有一個輕巧的監控平臺。 講者:Roberson
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 Log
twMVC
叡揚資訊 微服務風雲 Michael Smith 的任務 活動網址: https://gssweb.gss.com.tw/eDM/eDM20190603_GSS-ITs_microservices.html
微服務對IT人員的衝擊
微服務對IT人員的衝擊
Philip Zheng
2022-03-03 Study Area 酷學園
十二項架構設計原則
十二項架構設計原則
Philip Zheng
一個 iOS junior 把玩 jenkins 一週的心得。
十分鐘上手 I os jenkins ci
十分鐘上手 I os jenkins ci
Ting-Yen Kuo
Windows Server 2019 隨之而來的容器功能,帶領 Windows 容器化邁向另一個里程碑。本次演講將介紹全新容器功能,以及跟 Kubernetes 整合的歷程,並透過線上展示 Windows Server 2019 加入到 Kubernetes 叢集的完整步驟! 👉 Windows Server 高峰會 https://www.microsoft.com/taiwan/events/windows-server-2019/
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
Will Huang
What's hot
(20)
VSCode Remote Development
VSCode Remote Development
領域驅動設計 (Domain Driven Design)
領域驅動設計 (Domain Driven Design)
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
PyCon China 2012 孙毅
PyCon China 2012 孙毅
SITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with Webpack
Scrum深入淺出
Scrum深入淺出
持續交付高品質程式碼 公開版
持續交付高品質程式碼 公開版
與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構
互联网持续交付整形记
互联网持续交付整形记
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
VSCode Remote Development 介紹
VSCode Remote Development 介紹
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
我們與Azure DevOps的距離
我們與Azure DevOps的距離
SignalR實戰技巧 twmvc#17
SignalR實戰技巧 twmvc#17
James-版本控制
James-版本控制
twMVC#36讓 Exceptionless 存管你的 Log
twMVC#36讓 Exceptionless 存管你的 Log
微服務對IT人員的衝擊
微服務對IT人員的衝擊
十二項架構設計原則
十二項架構設計原則
十分鐘上手 I os jenkins ci
十分鐘上手 I os jenkins ci
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
Similar to 持续集成中的反模式
Continuous integration
Continuous integration
netdbncku
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min 中文
Shuyong Lin
Continuous Delivery: automated testing, continuous integration and continuous deployment.
Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...
Jimmy Lai
美团前端架构简介
美团前端架构简介
pan weizeng
李成银:前端编译平台
李成银:前端编译平台
taobao.com
Nodejs & NAE
Nodejs & NAE
q3boy
讲师:路宁 敏捷和精益咨询师,在百度任高级架构师,致力于指导公司的敏捷改进工作,主要方向是需求管理、迭代管理和持续集成等。他曾任ThoughtWorks资深咨询师多年,为多家国际知名的投行、物流和保险公司等构建企业应用、实施敏捷和组织转型方面的咨询。 他热衷技术探索,关注组织和团队管理实践,在敏捷和精益方面积累了丰富的实践经验,曾在QCon、AgileChina、Scrum Gathering、AgileTour、中国软件技术大会等活动中被邀请参加演讲。 话题介绍: 互联网行业面临激烈的市场竞争,这要求团队具备快速频繁且低消耗的持续发 布能力,以适应市场的变化。讲师支持的产品线系统复杂规模大,承担收入压力且面临严重的交付问题:项目排队提测,排队上线,内部沟通消耗大,分支合并风险 大耗时长,试验代码质量差,测试周期长bug难定位。讲师将分享这个产品线实施持续交付的改进经历,如何一步步解决问题,做到稳定的频繁发布的,听众也会 学习到其中关键的设计、测试、集成和发布实践。
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
jalamar
讲师:路宁 敏捷和精益咨询师,在百度任高级架构师,致力于指导公司的敏捷改进工作,主要方向是需求管理、迭代管理和持续集成等。他曾任ThoughtWorks资深咨询师多年,为多家国际知名的投行、物流和保险公司等构建企业应用、实施敏捷和组织转型方面的咨询。 他热衷技术探索,关注组织和团队管理实践,在敏捷和精益方面积累了丰富的实践经验,曾在QCon、AgileChina、Scrum Gathering、AgileTour、中国软件技术大会等活动中被邀请参加演讲。 话题介绍: 互联网行业面临激烈的市场竞争,这要求团队具备快速频繁且低消耗的持续发 布能力,以适应市场的变化。讲师支持的产品线系统复杂规模大,承担收入压力且面临严重的交付问题:项目排队提测,排队上线,内部沟通消耗大,分支合并风险 大耗时长,试验代码质量差,测试周期长bug难定位。讲师将分享这个产品线实施持续交付的改进经历,如何一步步解决问题,做到稳定的频繁发布的,听众也会 学习到其中关键的设计、测试、集成和发布实践。
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
LetAgileFly
@ QCon Beijing 2012
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
PyCon Taiwan 2021 使用 Pytest 進行單元測試 demos: https://tw.pycon.org/2021/zh-hant/conference/tutorial/8
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
Max Lai
分享關於網站上線之後,如何透過各種工具和方法來幫助網站的營運,讓網站能夠根據需求隨時調整改變,並同時兼顧網站的穩定性,讓網站的營運不再是一份辛苦的工作,還能透幫助網站不斷改善變的更好。 1. Immutable Infrastructure - 介紹如何透過 Infrastructure as code 讓系統架構程序化,還可以結合 Code Review, CI/ CD 等機制讓系統架構變更不再可怕並且有跡可尋 2. Log as Dashboard - 使用 ELK 讓網站的各種 Log 轉換成一目了然的數據,還可以輕鬆的剖析在特定情境下系統的運作情形 3. Chatops - 使用 bot 搭配 slack 等常用的通訊軟體,讓 Routing 的維運工作自動化,甚至只要會使用指令就可以操作,讓每個人都可以進行維運 4. System Monitor and Profiling - 透過監控機制觀察系統狀況,透過 Slack 發出警?告訊息,隨時透過 Slack 查詢系統狀況
網站上線了,然後呢?
網站上線了,然後呢?
Kirk Chen
网站测试是要跟大量的前端代码打交道,要跟各种恶心的浏览器打交道,要怎么样才能出淤泥而臭美呢?诀窍一就在于善于利用各种工具来引导工程师写出优美的代码来,本篇就讲述一个笔者最近刚新鲜出炉的一个工具 jsaudit
网站前端代码静态检查工具研究
网站前端代码静态检查工具研究
pop2008
持续交付的魅力
持续交付的魅力
Qiao Liang
OpenStack China Day topic
Heat在企业中的应用实践
Heat在企业中的应用实践
xuanlangjian
簡單的Git指令介紹以及Github基本功能介紹
Git&Github Tutorial
Git&Github Tutorial
Ting Wen Su
www.trinea.cn
姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发
Trinea Trinea
为网站加速,建立私有的CDN节点群,每部署一个CDN节点只需5分钟,无节点数量上限!
Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群
挺
持续集成中的六步提交
持续集成中的六步提交
Qiao Liang
网站前端代码静态检查工具综述
网站前端代码静态检查工具综述
pop2008
Similar to 持续集成中的反模式
(20)
Continuous integration
Continuous integration
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min 中文
Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...
美团前端架构简介
美团前端架构简介
李成银:前端编译平台
李成银:前端编译平台
Nodejs & NAE
Nodejs & NAE
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_ 敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
Scrum gathering 2012 shanghai_敏捷测试与质量管理分会场演讲话题:快速可持续的高质量发布(路宁)
合久必分,分久必合
合久必分,分久必合
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
網站上線了,然後呢?
網站上線了,然後呢?
网站前端代码静态检查工具研究
网站前端代码静态检查工具研究
持续交付的魅力
持续交付的魅力
Heat在企业中的应用实践
Heat在企业中的应用实践
Git&Github Tutorial
Git&Github Tutorial
姚彤 从360手机卫士的研发经历看大型移动应用开发
姚彤 从360手机卫士的研发经历看大型移动应用开发
Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群
持续集成中的六步提交
持续集成中的六步提交
网站前端代码静态检查工具综述
网站前端代码静态检查工具综述
持续集成中的反模式
1.
持续集成及反模式
张凯峰 1
2.
关于我 ThoughtWorks中国公司高级软件咨询师 InfoQ中文站资深编辑 技术图书译者
2
3.
议题 2007. 01
持续集成的概念 持续集成反模式 3
4.
持续集成 区别于传统的在开发完成后才开始质量控制 和集成的方式,持续集成实现了频繁的、增 量的软件质量控制,从而提高软件质量,缩 短软件发布的周期。 《持续集成》第二版,译者:雷镇,作者:Martin Fowler http://article.yeeyan.org/view/2251/94882
4
5.
传统的集成存在什么问题 • 用大量的时间集成不同来源的代码 • 集成时间甚至长于开发时间 •
每个人都要花很大的力气才能构建系统 • 发布在即,bug却越来越多 • …… 5
6.
于是…
集成时问题多、 主干质量不稳 时间长 定 容易引入Bug 本地代码堆积 不想不敢更新 很久才进行集 代码 成 6
7.
究其根源 • 缺乏有效的反馈手段,集成过程不透明、缺乏管理 • 对当前主干质量情况缺乏一个基本认识 •
集成频率太低。一次集成太多内容导致成本高、时 间长、容易出错 7
8.
如果引入持续集成…
小步频繁集成, 错误及时得到 快速反馈 修复 尽早修复Bug 每次集成成本 主干质量稳 低,出错几率 定 小 8
9.
持续集成是一种软件开发的实践。通过这个实践团队 的成员频繁整合他们的工作,通常每人每天至少集成 一次,通过不断地练习,最终达到每日多次集成。每次集成 通过自动化的编译和测试等手段进行验证,来达到尽快 发现集成错误的目的。
9
10.
一次成功的持续集成 《持续集成理论和实践的新进展》,肖鹏 http://www.infoq.com/cn/articles/ci-theory-practice
10
11.
持续集成的原则 • 只维护一个源代码库 • 自动化构建 •
自动化测试 • 每人每天向代码主线提交代码 • 每次提交触发构建 • 保持快速构建 • 在模拟生产环境下测试 • 每个人可轻易获得最新的可执行文件 • 每个人都能看到进度 • 自动化部署 11
12.
持续集成平台 • Jenkins/Hudson • TeamCity •
ThoughtWorks Go 12
13.
持续集成的反模式 • 标准化类反模式 • 自动化类反模式
13
14.
反模式一:非最小依赖 • 需要开发者定义和配置环境变量 • 需要开发者安装大量工具才能构建
14
15.
模式一:最小依赖 • 将需要预安装的工具减至最少 • 将构建和部署所需环境配置减至最少 •
Tips – 自动化建立依赖的过程 – 制作镜像 15
16.
反模式二:只能在个别机器上构建
“在我的机器上构建没有问题啊!” 16
17.
模式二:在独立专用的机器上构建 • 选择CI服务器需要考虑 –
统 – 构 – 馈 报 17
18.
反模式三:非独立构建 • 自动构建依赖IDE的设置 •
构 18
19.
模式三:独立构建 • 与IDE分离的构建脚本 • CI可以调用命令行开始构建
19
20.
反模式四:通过文件系统管理和共享文件 • 在团队成员机器上管理文件 • 通过文件系统共享
20
21.
模式四:所有文件版本化 • 由版本控制系统管理文件 • 授权访问给特定用户
21
22.
反模式五:积攒大量的代码质量问题 • 等待大量的代码问题爆发 • 增加维护的成本 •
影响既有的功能实现 22
23.
模式五:构建的阈值 • 构建时检查 –
代码测试覆盖率 – 代码圈复杂度 • 让构建失败,并通知开发团队 23
24.
反模式六:弱反馈 • 很少的反馈 • 垃圾邮件反馈
24
25.
模式六:持续反馈 • CI发布持续、自动的反馈 •
馈 – 馈 – 邮 – RSS 25
26.
反模式七:手动参与构建过程 • 手工不断重复同样的构建 • 部分自动构建,需要额外的手工配置
26
27.
模式七:构建过程全部自动化 • 从源代码开始,完全自动化构建 • 创建不依赖IDE的构建脚本,能从命令行调
用 27
28.
反模式八:耗时的人工代码审查 • 专门的代码审查会议 • 无视代码审查
28
29.
模式八:自动代码审查 • 运行自动代码分析找到通常问题 • 代码分析作为自动构建的一部分
29
30.
反模式九:没有自动化测试 • 不运行测试 • 没有回归测试 •
人工测试 30
31.
模式九:自动化测试 • 回归测试 • 自动化构建的重要部分
31
32.
总结 • 每个团队有最适合自己的持续集成方式 • 不为了持续集成而持续集成
32
33.
谢谢
33
Download now