利用VSTS跟Kubernetes整合进行CI/CD   为什么VSTS要搭配Kubernetes? 通常我们在开发管理软件项目的时候都会碰到一个很头痛的问题,就是开发.测试.生产环境不一致,导致开发人员和测试人员甚至和运维吵架. 因为常见的物理环境甚至云环境中,这些部署环境都是由运维人员提前准备好的.每次更新代码版本,都要很小心的在几个环境之前修改不同的参数配置,一不小心就将生产环境的数据库连接到了测试库,或者日志文件的地址写到了一个不存在的盘符里等等各种异常情况,有了Kubernetes这样…
1 - CI与CD的联系与区别 持续集成(Continuous Integration).持续交付(Continuous Delivery)和持续部署(Continuous Deployment)的过程,其实就是一个软件开发优化的过程. 统一流程:自动化地触发编译.集成.测试.交付和部署 保证集成的有序性.可靠性,减少版本发布的不合规性,避免手工打包.测试不充分等 版本可控,问题可追溯:可以回溯到具体版本 三者有着不同的目的 持续集成的目的是尽早发现问题 持续交付的目的是实现快速发布 持续部署的…
由来 记得7月份刚刚换工作的时候,中午和老大一起去吃饭,回来的路上老大问我:"南橘,CI/CD有没有研究过?" 我隐隐约约在哪里听过这个名词,但是又想不起来,秉着实事求是的态度,我斩钉截铁的说:"老大,我不知道CI/CD是个啥." 老大当即对诚实的我进行了一顿夸耀,并且高兴地奖励我回去研究CI/CD的机会,并且告诉我,我们team的ScrumMaster马上要入职了,加下来的工作会采取持续集成(CI)和持续交付( 持续部署)(CD) 的模式. 没过几天,新的Scru…
Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建.测试和部署等功能.本文以 CentOS7 环境为例,总结了 Jenkins 的安装与配置.邮件功能使用,并接入阿里巴巴的著名开源项目 fastjson,以此演示 Java 项目(SVN+Maven)中 FindBugs/CheckStyle/PMD 等常用插件的使用.单元测试及其覆盖率报告等,力求实战性强. 作者:王克锋 出处:https://kefeng.wang/2…
原文首次发布与 flow.ci Blog >> 链接,转载请联系:) 准备了很久,CI Weekly 第一期终于来了. CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外关于持续集成.持续交付,持续部署.自动化测试.devops.敏捷开发等实践教程.资源与工具,以及一些工程师文化相关的程序员 Tips. 同时,CI Weekly 会坚持每周发布一期精选文章,每一期的文章尽量围绕 CI 相关的 topic 展开,在flow.ci 微信公众号.官方微博,知乎专栏,简…
大家好,我是来自阿里云容器服务团队的华相.首先简单解释一下何为 Kubernetes 来帮助大家理解.Kuberentes 是一个生产可用的容器编排系统.Kuberentes 一方面在集群中把所有 Node 资源做一个资源池,然后它调度的单元是 Pod,当然 Pod 里面可以有多个容器. 就像一个人左手抓着 ECS 资源或计算资源,右手抓容器,然后把它们两个匹配起来,这样它就可以作为一个容器的编排系统. 而 Cloudnative 这个概念现在会经常被大家提起,很多人迷惑 Cloudnative…
本周四晚上8:30,第二期k3s在线培训如约开播!本期课程将介绍k3s的核心架构,如高可用架构以及containerd.一起来进阶探索k3s吧! 报名及观看链接:http://z-mz.cn/PmwZ 本文来自Rancher Labs 在云原生领域中,Kubernetes累积了大量用例.它能够在云中部署应用容器.安排批处理job.处理工作负载以及执行逐步升级.Kubernetes使用高效的编排算法来处理这些操作,即便是大规模集群这些算法依旧表现良好. 此外,Kubernetes主要用例之一是运行…
一.  Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S.K8S是Google内部一个叫Borg的容器集群管理系统衍生出来的,Borg已经在Google大规模生产运行十年之久.K8S主要用于自动化部署.扩展和管理容器应用,提供了资源调度.部署管理.服务发现.扩容缩容.监控等一整套功能.2015年7月,Kubernetes v1.0正式发布,截…
如果你的开发流程是下面这个样子的, 那么你一定很好奇, 为什么我提交到仓库的代码可以自动部署并访问到最新的提交内容 这就是近年来兴起的 DevOps 文化, 很方便的解决了开发人员和运维人员每次发布版本需要联调沟通等问题, 缩短了程序发布时间, 可以以更短的周期进行迭代. 所以在收集了很多教程之后, 我也搭建了一个可自动测试,测试用例通过后可自动部署的 CI/CD 流程 实验前准备 VirtualBox 用来模拟需要用到的服务器(大概4台,云服务器也可以) Vagrant 用来编排 Virtua…
[原文].后面我们可能还会看到一个 OOMKilled 错误. 我们的应用正在挂掉?为什么? 首先我们查看应用日志.假定你发送应用日志到 stdout(事实上你也应该这么做),你可以使用 kubectl logs看到应用日志: $ kubectl logs crasher-2443551393-vuehs 不幸的是,这个 Pod 没有任何日志.这可能是因为我们正在查看一个新起的应用实例,因此我们应该查看前一个容器: $ kubectl logs crasher-2443551393-vuehs …