日构建 somebody@staff.weibo.com
概要 背景与意义 CI/CD 发布工程 Release Engineering 工作流程 Workflow 项目周期 Project Lifecycle 开发 Develop 贡献 Contribute 讨论 Discussion
持续集成
持续交付
持续部署
发布工程 @Chuckr发布工程演讲 https://www.youtube.com/watch?v=Nffzkkdq7GM
发布工程 以时间为周期 软件发布不会等待你的功能提交。同样,你提交的功能所在的软件 发布也不会等待其他人的功能。
发布工程 用户驱动发布,最坏也就如此 在软件发布前,进行了代码审查、持续集成以及人工测试。然后, 才将当前版本发布给5%的灰度用户。
发布工程 版本永远在迭代 产品需求永远可以在下一版本发布。尽管高优先级的产品需求,也 不鼓励在当前周期进行发布。
发布工程 优先回滚 当出现bug时,优先进行代码回滚,而不是修复bug。
开发流程 feature branches develop(build_v705) release branches master
贡献 项目结构 Project Construct 代码规范 Coding Standard 开发环境 Dev Environment 合并请求 Merge Request
PHP-FIG Standards Zend Framework 2 Symphony Yii framework Daily Build http://git.intra.weibo.com/huati/daily-build/blob/master/CODING_STANDARD.md
libgit2 https://libgit2.github.com/ php-git https://github.com/libgit2/php-git
构建静态链接库 ## For 32bit systems git submodule init && git submodule update mkdir libgit2/build cd libgit2/build cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=OFF -DBUILD_CLAR=OFF .. cmake --build . # For 64bit systems cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=OFF -DBUILD_CLAR=OFF -DCMAKE_C_FLAGS=-fPIC ..
# build php-git2 cd ../../ phpize ./configure —with-php-config=/php/config/bin/path —enable-git2-debug make make install # add extension=git2.so to your php.ini
讨论
感谢 WY同学的指点 《发布工程在Facebook》 其他相关文章 https://www.youtube.com/watch?v=Nffzkkdq7GM 其他相关文章 http://www.360doc.com/content/16/0326/07/31970350_545313043.shtml
谢谢