初创公司的持续交付方案设计

背景

“交付”是指产品从有idea开始,到用户可以使用这个功能的过程。良好的持续交付方案无疑是可以提高整个产品的交付效率的,大公司有专门的PMO团队来做敏捷,开发出各种工具/平台提升产品-研发-上线的效率。然而对于创业公司来说,并没有专门的人来做这件事,虽然github上有各种开源软件,但都是相对比较割裂的,需要整合。在此,记录我做的一些工作,不敢说是初创公司运维的最佳实践,但整体使用起来还是挺顺畅的。

先说下我刚到这家创业公司的代码部署现状,

  1. 服务器在阿里云上,每台ECS对外暴露外网IP和ssh端口
  2. 研发通过FTP上传本地编译的class到ECS上,重启java进程生效
  3. 经常出现本地修改代码没有commit到代码仓库,导致下次升级时文件被覆盖回去

当然还有其他运维不规范的情况,不在此篇文章中展开。单说交付。

改造

持续交付是一个比较大的范畴,广义来说,包括需求收集、需求评审、技术评审、代码管理、自动化测试、部署等工作。
写到这儿我才发现,真的要做的事情还挺多的,用一篇好像说不完。我会分成几篇来详细阐述下,希望对其他的同学有参考的价值。

在改造之前,需要先描述我们的目标,对于我而言,需要解决的问题如下,

  1. 解决上面描述的代码不规范的问题,避免因发布导致的线上问题
  2. 这套方案需要有良好的扩展性,在有新应用要上线、多语言开发的模块要上线、新采购机器到货、新人加入公司时,这套东西是否还可以玩的6
  3. 借助开源组件,避免重复造轮子(主要是没人力造)

明确了以上几点目标之后,让我们开动吧。
一、初创公司代码管理与运维规范化
二、jenkins+ansible做自动化的编译发布
三、项目管理-站会与发布时间评估

你可能感兴趣的:(初创公司的持续交付方案设计)