前言:一直以来想学习与实践一下敏捷开发,之前项目虽说口口声声我们项目是敏捷开发,其实很扯. 敏捷开发如果有持续集成.持续部署的支持,那样开发.测试.运维将节省不少精力. 此系列博客只为记录CI/CD的实践与学习: 一.PHP运行环境的准备(centos7.4下安装docker环境搭建 PHP7.1 + MySQL5.7环境,openresty1.13.6.1做代理服务器) 服务器环境:阿里云ECS 操作系统:centos7.4 1. 安装docker https://help.aliyun.co…
因为公司有两地研发团队,在统一CI/CD上难度不亚于两家公司合并后的新流程建立,并非不可攻克,简单描述下心得. 首先,代码管理使用gerrit -> 因其强大的 codereview 功能被选中为 codebase 的选型,而且,我们依赖于 gerrit event 触发流程,取代沟通基本靠喊的简单粗暴的方式. 关于 gerrit event 介绍,请参考 https://gerrit-review.googlesource.com/Documentation/cmd-stream-events…
自动化部署 CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法.CI/CD 的核心概念是持续集成.持续交付和持续部署.作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:"集成地狱"). 本 Chat 将从流程以及原理入手到实战演练,技术栈/关键词: Gitlab-CI Docker Maven Google Jib Nexus 适宜人群 微服务架构工程师 Java 开发人员 持续集成 Continuous Integrat…
https://mp.weixin.qq.com/s/UfGmCueEm8n2jdegng1F_g CI/CD 最佳实践的基本原则 互联网后端架构 2020-10-04…
2019.11.9 的中国.NET开发者峰会将在上海举办,到目前为止,大会的主题基本确定,这两天就会和大家会面,很多社区的同学基于对社区的信任在我们议题没有确定的情况下已经购票超过了300张,而且分享的主题都来自于社区,来自于生产实践之中的经验分享,内容之中有一点非常值得分享-基于k8s的微服务实践内容很多,但是每一个分享的时间只有30分钟,难以全面阐述k8s 这样的一个大主题,因此陈计节.陈作.刘腾飞和我又特别策划了一个11.10号的workshop活动,采用一天的时间来带领大家使用.NET…
forge的官网是: http://forge.sh forge工具是一个部署工具, 将你的应用自动更新到kubernets集群中, 只需要配置简洁的配置文件和模板即可. 其它的就交给forge, 它能帮你搞定的事情: 一般k8s更新应用需要以下步骤: 1. 点击jenkins 构建job, 或者通过webhook的方式出发. 2. 拉取项目代码 3. 编译.打包  例如 go build , mvn 等 4. 根据Dockerfile 打包镜像 6. 上传镜像到docker 镜像仓库,打镜像的…
前言 上一篇博文 .NetCore 配合 Gitlab CI&CD 实践 - 开篇,主要简单的介绍了一下 GitLab CI 的持续集成以及持续部署,这篇将通过 GitLab CI 发布一个 .net core 项目,来带小伙伴们感受一下自动化的魅力,从此告别手动发布. 准备工作 创建一个空MVC项目来进行演示: mkdir hello-world cd hello-world dotnet new sln -n HelloWorld mkdir src cd src dotnet new mv…
时至今日,越来越多的工程团队开始实行敏捷开发,借以推动更短.更快的发布周期.而代码库的增长与更高的生产构建频率,也带动持续集成与持续部署/交付工具快速兴起.如果您有意提升发布频率,或者是不太清楚哪些工具能够帮助您达成这一目标——别担心.在今天的文章中,我们将探讨一系列最流行的CI / CD工具,并对其特性作出剖析. 什么是CI / CD?其意义何在? 在深入研究CI / CD自动化工具之前,我们首先需要了解其基本概念.正如我们所提到的,持续集成和持续部署通常与敏捷开发环境齐头并进.在这类环境中,…
Jenkins Jenkins是CI市场中最知名且最常见的名号之一.其最初是由Sun公司的一位工程师打造的一个辅助项目,并迅速扩展为最大的开源CI工具之一,可帮助工程团队实现自动化部署.顺带一提:我们OverOps也在使用Jenkins以及自己开发的CLI工具. 它有什么作用? 与其它CI工具一样,Jenkins可以自动构建.测试及部署任务.该工具支持Windows.Mac OSX以及各类Unix系统,可以使用本机系统软件包以及Docker进行安装,也可以在安装了Java Runtime Env…