<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>持续集成 on Tony Bai</title><link>https://tonybai.com/tags/%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90/</link><description>Recent content in 持续集成 on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Fri, 06 Mar 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90/index.xml" rel="self" type="application/rss+xml"/><item><title>数据说话：Go 1.26 或成近年来“问题最多”的大版本，现在升级安全吗？</title><link>https://tonybai.com/2026/03/06/go-1-26-most-problematic-release/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/03/06/go-1-26-most-problematic-release/</guid><description>本文永久链接 – https://tonybai.com/2026/03/06/go-1-26-most-problematic-release 大家好，我是Tony Bai。 2026 年 2 月，Go 1.26 如约而至。伴随着 new(expr) 语法糖的引入、Green Tea GC 的全面转正，以及go fix 现代化重构等一系列重磅特性，许多 Gopher 都按捺不住尝鲜的冲动。 然而...</description></item><item><title>拒绝无效告警！用 Govulncheck 构建高信噪比的 Go 安全扫描工作流</title><link>https://tonybai.com/2026/02/25/govulncheck-high-signal-to-noise-ratio-security-workflow/</link><pubDate>Wed, 25 Feb 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/02/25/govulncheck-high-signal-to-noise-ratio-security-workflow/</guid><description>本文永久链接 – https://tonybai.com/2026/02/25/govulncheck-high-signal-to-noise-ratio-security-workflow 大家好，我是Tony Bai。 在当今的软件开发流程中，持续集成/持续部署（CI/CD）和自动化的安全左移（Shift Left）已经成为行业共识。在这个大背景下，诸如 GitHub Dependabot ...</description></item><item><title>Claude Code 官方最佳实践：50 条没人告诉你的“核心军规”</title><link>https://tonybai.com/2026/01/25/claude-code-official-best-practices-50-core-rules/</link><pubDate>Sun, 25 Jan 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/01/25/claude-code-official-best-practices-50-core-rules/</guid><description>本文永久链接 – https://tonybai.com/2026/01/25/claude-code-official-best-practices-50-core-rules 大家好，我是Tony Bai。 在使用 Claude Code 的过程中，你是否遇到过这种情况： 有时候它简直是神，几秒钟就能重构一个复杂的模块；但有时候它又蠢得让人抓狂，甚至会一本正经地写出跑不通的代码，或者把你刚刚纠...</description></item><item><title>Go 考古：Go 官方如何决定支持你的 CPU 和 OS？</title><link>https://tonybai.com/2026/01/01/go-archaeology-porting-policy/</link><pubDate>Thu, 01 Jan 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/01/01/go-archaeology-porting-policy/</guid><description>Go 考古：Go 官方如何决定支持你的 CPU 和 OS？ - Tony Bai Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * 我的技术专栏 * 文章...</description></item><item><title>AI 让代码产出速度提升 10 倍，为什么我们的软件交付成功率却停滞不前？</title><link>https://tonybai.com/2025/10/18/revisit-extreme-programming-in-the-age-of-ai/</link><pubDate>Sat, 18 Oct 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/10/18/revisit-extreme-programming-in-the-age-of-ai/</guid><description>AI 让代码产出速度提升 10 倍，为什么我们的软件交付成功率却停滞不前？ - Tony Bai Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * 我的技...</description></item><item><title>超越时间的智慧：重读那些定义了现代软件开发的经典文章</title><link>https://tonybai.com/2025/10/04/the-software-essays-that-shaped-me/</link><pubDate>Sat, 04 Oct 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/10/04/the-software-essays-that-shaped-me/</guid><description>本文永久链接 – https://tonybai.com/2025/10/04/the-software-essays-that-shaped-me 大家好，我是Tony Bai。 二十年前，一位年轻的程序员在还未踏入职场时，便开始沉浸于软件开发的博客文章与深刻思考之中。二十年后，他已成为一名资深工程师，回首望去，成千上万的文字中，只有寥寥数篇真正沉淀下来，如基石般塑造了他的思维方式和职业生涯。 ...</description></item><item><title>千呼万唤始出来？Go 1.25解决Git仓库子目录作为模块根路径难题</title><link>https://tonybai.com/2025/06/07/allow-serving-module-under-subdir/</link><pubDate>Sat, 07 Jun 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/06/07/allow-serving-module-under-subdir/</guid><description>千呼万唤始出来？Go 1.25解决Git仓库子目录作为模块根路径难题 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FA...</description></item><item><title>Go项目该拥抱Monorepo吗？Google经验、etcd模式及白盒交付场景下的深度剖析</title><link>https://tonybai.com/2025/06/06/go-monorepo/</link><pubDate>Fri, 06 Jun 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/06/06/go-monorepo/</guid><description>Go项目该拥抱Monorepo吗？Google经验、etcd模式及白盒交付场景下的深度剖析 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ ...</description></item><item><title>透视软件供应链安全：SBOM标准解读与Go项目生成指南</title><link>https://tonybai.com/2025/05/22/go-sbom-practice/</link><pubDate>Thu, 22 May 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/05/22/go-sbom-practice/</guid><description>本文永久链接 – https://tonybai.com/2025/05/22/go-sbom-practice 大家好，我是Tony Bai。 近年来，软件供应链安全事件频发，从 SolarWinds 到 Log4Shell，每一次都给业界敲响了警钟。在这样的背景下，软件物料清单 (SBOM, Software Bill of Materials) 的重要性日益凸显。无论是甲方爸爸的硬性要求（尤...</description></item><item><title>Go testing包将迎来新增强：标准化属性与持久化构件API即将落地</title><link>https://tonybai.com/2025/04/07/go-testing-add-attr-and-artifactdir/</link><pubDate>Mon, 07 Apr 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/04/07/go-testing-add-attr-and-artifactdir/</guid><description>Go testing包将迎来新增强：标准化属性与持久化构件API即将落地 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课...</description></item><item><title>Service Weaver：以单体形式编码，以微服务形式部署</title><link>https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices/</link><pubDate>Mon, 09 Oct 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices/</guid><description>本文永久链接 – https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices 分布式应用的主流架构模式演化为**微服务架构**已经有些年头了。微服务、DevOps、持续交付和容器技术(k8s)是构成最初云原生概念的核心要素。它们相生相拌，共同演进，并推动了云计算**全面进入云原...</description></item><item><title>使用go test框架驱动的自动化测试</title><link>https://tonybai.com/2023/03/30/automated-testing-driven-by-go-test/</link><pubDate>Thu, 30 Mar 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/03/30/automated-testing-driven-by-go-test/</guid><description>本文永久链接 – https://tonybai.com/2023/03/30/automated-testing-driven-by-go-test 一. 背景 ----- 团队的测试人员稀缺，无奈只能“自己动手，丰衣足食”，针对我们开发的系统进行自动化测试，这样**既节省的人力，又提高了效率，还增强了对系统质量保证的信心**。 我们的目标是让自动化测试覆盖三个环境，如下图所示： 我们看到这三个...</description></item><item><title>Go是如何缓解供应链攻击的[译]</title><link>https://tonybai.com/2022/04/02/how-go-mitigates-supply-chain-attacks/</link><pubDate>Sat, 02 Apr 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/04/02/how-go-mitigates-supply-chain-attacks/</guid><description>本文永久链接 – https://tonybai.com/2022/04/02/how-go-mitigates-supply-chain-attacks 这些年来，关于软件供应链的安全问题频发，软件供应链已然成为IT安全领域的一个热点，在前不久的《聊聊Go语言的软件供应链安全》一文中我曾提到过Go在SBOM(软件物料清单)方面给开发人员带来的方便。这两天Go官博又发表了一篇由Go项目安全负责人F...</description></item><item><title>源创会2017沈阳站讲稿：基于Harbor的高可用企业级私有容器镜像仓库部署实践</title><link>https://tonybai.com/2017/10/23/the-speech-script-practice-on-deploying-a-ha-harbor-cluster-for-osc-shenyang-2017/</link><pubDate>Mon, 23 Oct 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/10/23/the-speech-script-practice-on-deploying-a-ha-harbor-cluster-for-osc-shenyang-2017/</guid><description>上周六开源中国的源创会在沈阳举办了一次技术活动，很荣幸以本地讲师的身份和大家交流了一个topic: “基于Harbor的高可用企业级私有容器镜像仓库部署实践”。之所以选择这个topic，是因为这是我们团队的项目实践心得。很多企业和组织在深入使用Docker之后，都会有类似的高可用私有容器仓库搭建的需求，于是我就把我们摸索的实践和填坑过程拿出来，用30分钟与大家分享一下。另外这算是一个入门级的分享，...</description></item><item><title>GopherChina2016后记</title><link>https://tonybai.com/2016/04/18/my-experience-of-gopherchina2016/</link><pubDate>Mon, 18 Apr 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/04/18/my-experience-of-gopherchina2016/</guid><description>4月17日晚22:51，伴随着D7次动车缓缓驶入沈阳北站，拖着疲惫的身体和些许兴奋的我，结束了两天的GopherChina 2016之旅。 一、GopherChina大会 GopherChina大会是中国大陆地区Golang语言推广第一品牌。2015年在上海成功了举办了第一届大会；2016年，大会发起人astaxie为充分照顾帝都（及周边）Gophers们的情绪^\_^，将GopherChina ...</description></item><item><title>只为那一抹释然</title><link>https://tonybai.com/2013/12/26/just-for-being-relieved/</link><pubDate>Thu, 26 Dec 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/12/26/just-for-being-relieved/</guid><description>_一切没有目标的努力，都是瞎忙活儿。_                                                     _\- Tony Bai_ 刚实施回来，就又投入到新工作中，到今天才有那么一点点时间写写这件事儿。 **\* 缘起** 我们的遗留系统性能一直不高，导致这一局面的因素有很多，比如最初设计和实现的“考虑不足”、后续维护人员的“随波逐流”甚至缺少勇气对影响性能...</description></item><item><title>当Bug A遇到Bug B</title><link>https://tonybai.com/2013/10/14/when-bug-a-encounter-bug-b/</link><pubDate>Mon, 14 Oct 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/10/14/when-bug-a-encounter-bug-b/</guid><description>_2002年的Bug A与2008年的Bug B同时穿越到2013年，并在某个场合相遇了。_ 上周六，项目组本应以一个愉快的心情结束一天的工作的，但一个2002年的Bug A与另外一个2008年的Bug B同时穿越时空来到了2013年，并且恰恰在那时那刻（下班前）相遇了，于是项目组由放松变成了忙碌，由愉快变成了紧张，17：30的下班点也因此延迟到了凌晨1：30。 Bug A来源于2002年我们发布...</description></item><item><title>把所有东西都放入版本控制系统</title><link>https://tonybai.com/2013/09/04/putting-absolutely-everything-in-version-control/</link><pubDate>Wed, 04 Sep 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/09/04/putting-absolutely-everything-in-version-control/</guid><description>本文翻译自Dr. Dobb’s杂志主编Andrew Binstock的&amp;#34;Putting Absolutely Everything in Version Control&amp;#34;一文。 **持续交付(Continuous Delivery)的一个关键原则就是将所有东西都放入版本控制系统中。这解决了一些重大问题，但也引入了一些其他问题。** 持续交付是持续集成(CI)的一个自然扩展。后者旨在每次代码签入后运...</description></item><item><title>再谈组织工作效率提升</title><link>https://tonybai.com/2013/08/04/more-thoughts-on-improving-efficiency/</link><pubDate>Sun, 04 Aug 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/08/04/more-thoughts-on-improving-efficiency/</guid><description>工作效率提升，是所有企业组织都追求的一个目标。高效率意味着用更少到人可以做更多的活儿，赚取更多的利润。员工收入也会有较大提升，有面子；管理层的收 入就更水长船高了。但说起来容易，做起来难。工作效率低下一直是让各个组织的管理者头疼的问题，组织无论大小，无论中外，皆如此。 从大的方面来看，提高效率的策略不会很多，万变不离其中，关键是落实，措施要与自己的组织实际情况匹配。两年前自己曾经写过一篇博文“提升...</description></item><item><title>做正确的事要趁早</title><link>https://tonybai.com/2012/08/02/do-right-things-early/</link><pubDate>Thu, 02 Aug 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/08/02/do-right-things-early/</guid><description>最近闲暇时间在策划实施两件事儿：一是产品的自动化回归测试；二是尝试在项目中使用一些静态代码语义分析工具。我觉得这两件事是应该做的正确的事，对提升产品质量，提前发现产品中潜在的缺陷都大有裨益。但在做的过程中才感觉到：现在做有些晚，正确的事要趁早做。 去年自动化测试组发布了自动化测试框架的第一个版本，我们的产品参加了试点。但经过自动化测试组大半年的投入，效果十分有限，根本没有达到我的预期。最主 要的问...</description></item><item><title>buildc 0.1.9版本发布</title><link>https://tonybai.com/2012/07/19/buildc-0-1-9-release/</link><pubDate>Thu, 19 Jul 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/07/19/buildc-0-1-9-release/</guid><description>随着buildc使用的深入，越来越多的新需求暴露了出来。为了满足这些需求，我们组的小兄弟又对buildc进行了一些改造，这些变化如下： 1、支持将多个子工程打包到一个安装包中 最初buildc的设计思想是为每个子工程单独制作安装包，这样具有很强的灵活性。但在对现有N个工程进行构建脚本改造的过程中发现，有些工程间存在严重 依赖，比如工程A是一个业务级公共库工程，工程B和工程C都依赖工程A构建后生成的...</description></item><item><title>读《How Google Tests Software》</title><link>https://tonybai.com/2012/07/10/read-how-google-tests-software/</link><pubDate>Tue, 10 Jul 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/07/10/read-how-google-tests-software/</guid><description>一直对Google这个牛X公司的内部开发过程很是感兴趣，毕竟像Google Search Engine、Google云计算平台这些伟大产品都是在这个开发过程下缔造出来的。但也许是Google保密工作做的很好，或许人家不是刻意保密，只是 因为工作太忙或人员太低调，没空派人出来宣讲罢了。外界对Google内部的开发流程知之甚少；知道一些，诸如20%项目，也只是皮毛。 终于有一天，Google的三位工程...</description></item><item><title>buildc 0.1.8版本发布</title><link>https://tonybai.com/2012/07/02/buildc-0-1-8-release/</link><pubDate>Mon, 02 Jul 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/07/02/buildc-0-1-8-release/</guid><description>buildc这个小工具逐渐在项目组内部扩大了使用范围，还有一名专门的同事负责为每个项目制作安装包工程，这样也可以在使用中发现buildc的问题。 本次buildc 0.1.8的相关修正以及新增的feature就是我的这位年轻同事一手操刀完成的，他也是一个python新手，同样也是边翻手册边进行编码的。这次改动主要集中在templates目录下的几个文件，这里的文件多为因工程的不同而异的。 这次bu...</description></item><item><title>也谈技术布道 – 影响因素及有效实践</title><link>https://tonybai.com/2012/04/24/influencing-factors-and-effective-practice-about-driving-technical-changes/</link><pubDate>Tue, 24 Apr 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/04/24/influencing-factors-and-effective-practice-about-driving-technical-changes/</guid><description>昨天中午收到图灵出版的《布道之道 – 引领团队拥抱技术创新》一书，晚上就迫不及待地翻看开来。这是我读过的第一本有关推动组织内部技术变更/创新实践方面的书，感觉书作者对受众的分类很是准 确到位，很多布道技巧也十分值得借鉴。但就我个人多年来的体验来看，组织内部技术布道的结果，不仅仅与受众的类型有关，还与布道者自身的资历、所担任的角 色、组织内部的文化和环境、布道路线以及布道时机和对象的选择有一定关系。...</description></item><item><title>buildc 0.1.7版本发布</title><link>https://tonybai.com/2012/04/19/buildc-0-1-7-release/</link><pubDate>Thu, 19 Apr 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/04/19/buildc-0-1-7-release/</guid><description>最近针对buildc又有了一些新想法，于是今天上午又对buildc进行了多处修改，并相继发布了0.1.6版本和0.1.7版本。 \* 对buildc cache upgrade的实现进行了修改。 在执行全量更新本地cache前，先对本地cache的情况进行一些检查，并判断是否与当前.buildc.rc中的配置相符。如果两者是一致的，那么只进行update操作；否则则执行真正的upgrade(rem...</description></item><item><title>buildc 0.1.5版本发布</title><link>https://tonybai.com/2012/04/13/buildc-0-1-5-release/</link><pubDate>Fri, 13 Apr 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/04/13/buildc-0-1-5-release/</guid><description>这两天对buildc的改动比较频繁，今天又修正了一些问题，也增加了一些小功能。主要包括这么几点： 1、在Make.rules.in中增加了STATIC\_LIBS和DYNAMIC\_LIBS 项目源代码和项目中单元测试代码使用同一个Make.rules，也此编译时也就共享同一个LIBS变量。对于静态共享库还好说，但对于动态共享库，诸如Oracle的instantclient库，单元测试代码中即使没...</description></item><item><title>buildc 0.1.4版本发布</title><link>https://tonybai.com/2012/04/12/buildc-0-1-4-release/</link><pubDate>Thu, 12 Apr 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/04/12/buildc-0-1-4-release/</guid><description>年后buildc开始逐渐在产品线的项目里应用了，随之而来的是大家反馈的各种意见和bug。尤其是bug，我都会很认真地应对，也会及时发布相应的版本修复这些bug。buildc 0.1.4版本就是一个bugfix版本，其修复的bug源于今天上午的一次持续集成的失败。 上午收到Jenkins发送的一个&amp;#34;build failed&amp;#34;的mail，一个安装包项目的CI job执行失败了，于是到Jenkins w...</description></item><item><title>使用Jenkins实现多平台并行集成</title><link>https://tonybai.com/2012/02/15/intergating-on-multiple-platforms-simultaneously-using-jenkins/</link><pubDate>Wed, 15 Feb 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/02/15/intergating-on-multiple-platforms-simultaneously-using-jenkins/</guid><description>我们的后端C应用都是支持跨平台的，至少目前在Linux和Solaris上运行是没有问题的，这样一来我们在配置持续集成环境时就要考虑如何实现在代码Commit后触发多平台并行(同时)集成这个需求。 之前使用Buildbot时是通过为一个Scheduler配置多个Builder满足这个需求的。但现在要换成Jenkins，我们如何来实现呢？昨天在折腾Jenkins时我把问题想简单了，今天细致查看了一下B...</description></item><item><title>折腾Jenkins</title><link>https://tonybai.com/2012/02/14/install-and-configure-jenkins/</link><pubDate>Tue, 14 Feb 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/02/14/install-and-configure-jenkins/</guid><description>Buildbot是产品线C应用项目中采用的唯一持续集成工具，一直以来用得还不错。但前些日子部门负责过程改善的同事找到我，说今年部门计划统一各个项目组所使用的Continuous Integration工具，Buildbot有些小众，没有入大家的法眼，部门期望使用的是Jenkins(即原来的Hudson)。既然组织有统一规划，那我自然积极支持。但首先要做的就是评估Jenkins是否能满足我们的需求，...</description></item><item><title>解决一个IP路由选择问题</title><link>https://tonybai.com/2011/06/21/solve-a-problem-about-ip-route/</link><pubDate>Tue, 21 Jun 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/06/21/solve-a-problem-about-ip-route/</guid><description>大学时曾旁听过计算机专业的专业课-&amp;#34;计算机网络&amp;#34;（我非科班出身，只能偷偷旁听），现在还能清晰地记得当初他们使用的教材是高教社影印版的《计算机网络——自顶向下方法与Internet特色》。不过记忆中课程的内容却渐渐模糊了。有些当时并没有深刻地理解的概念，现在依旧没理解，因为平时少有涉及。 上周在搭建CI环境时遇到了两个服务器(均安装的是RHEL 5.5 OS)之间网络不通的问题。这两个服务器分处于两...</description></item><item><title>让BuildBot服务于多个项目</title><link>https://tonybai.com/2011/06/07/use-buildbot-serves-serveral-projects-simultaneously/</link><pubDate>Tue, 07 Jun 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/06/07/use-buildbot-serves-serveral-projects-simultaneously/</guid><description>多数公司不会仅有一个项目，当你为一个项目引入持续集成实践后，其他项目就会接踵而来。这时你会重新考量BuildBot，考虑如何让BuildBot可以服务于多个项目。 如果你有足够的主机资源和人力资源，那为每个项目单独搭建一套CI环境是再好不过的了，每个项目都有专人维护CI环境，各个项目的配置互不干扰。不过对于一些公司来说，这显然有些浪费，BuildBot Master的资源消耗是不大的，我们完全可以...</description></item><item><title>解决BuildBot构建结果mail无法发送的问题</title><link>https://tonybai.com/2011/05/31/solve-the-problem-that-buildbot-can-not-send-mail/</link><pubDate>Tue, 31 May 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/05/31/solve-the-problem-that-buildbot-can-not-send-mail/</guid><description>在“使用BuildBot搭建持续集成环境”一文中我曾经说到：公司使用的mail服务器只支持SSL连接，而BuildBot似乎对SSL连接的支持有些问题，导致构建结果mail无法发送“。BuildBot实际上使用的是Twisted的mail库来发送邮件的，我下载了Twisted的一些mail发送的例子程序，并使用我的公司mail账户配置，但依旧发送失败。看来这个问题与Twisted的实现有关了。 这...</description></item><item><title>使用BuildBot搭建持续集成环境</title><link>https://tonybai.com/2011/05/18/set-up-ci-environment-with-buildbot/</link><pubDate>Wed, 18 May 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/05/18/set-up-ci-environment-with-buildbot/</guid><description>部门的持续集成一直做的不太好，我们开发部这边甚至一直没能做起来，这其中有各种原因：工具、意识、执行力、沟通等等。将持续集成引入到我们的开发过程中也一直是我的一个目标。去年末启动的一个项目让我感到时机变得成熟了。 新项目的代码是完全重写的，这样的机会甚是难得。因为大多数情况下大家都是在维护现有系统：做些添添补补、修正Bug以及优化之类的事情。项目初期，我特别向大家强调了要严格遵守统一代码风格并将as...</description></item><item><title>CruiseControl.rb初体验</title><link>https://tonybai.com/2008/08/20/the-experience-of-cruisecontrol-rb/</link><pubDate>Wed, 20 Aug 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/08/20/the-experience-of-cruisecontrol-rb/</guid><description>我所在的项目一直以C语言作为主要开发语言，与做Java以及其他新兴语言的人不同，组内的同事似乎对新鲜的东西不是那么感兴趣，也没有主动去研究新鲜事物的意愿和意识。我深为此闹心，看到外面世界中那么多美妙的工具，再也不能坐以待毙了。我一直都是有很多想法的，但是迫于自身精力有限，自己无法全身投入，以前都是交予别人去做的，但是收到的效果都不是很好。认识到这点后，我决定自己动手，丰衣足食。 从心底一直对公司的...</description></item></channel></rss>