因为是小成本公司,服务器的采购也都是在阿里云上采购的,所以整个项目的集成环境也是在阿里云上完成。

代码上线有很多种,有直接在服务器上拉代码的,有ftp上传的,也有scp推的。当然,不管走什么协议,这些办法都能达到上线代码的目的,但是上线流程就会变得复杂,出现问题的风险变大。

持续集成主要解决的问题,也就是让这个过程变得简单,可控,降低人为风险,当产生问题可以及时回滚到没问题的版本。现在各个头部大厂都有专业的devops,他们基本都会自己开发一套持续集成方案。不过大部分也是基于 hudson,jenkins,或者k8s这些基础应用。

阿里云的持续集成也是在基础思想上打包了一套自己的服务。目前支持的类型,有rdc和k8s两种。

这里先讲一下持续集成这个服务的基本思路,这个服务的作用,主要是把代码先从你的代码仓库拉过来存到他的工作空间,然后在进行一个简单的版本约定,来索引到你当前的代码。然后在从工作空间推送到你的目标服务器,也就是你要上线的那台服务器。这里面牵扯到的资源,有你的代码仓库服务器,持续集成服务器,还有线上应用服务器。所以要完成这个推送过程的前提是要把相关的用户权限打通。

阿里云的持续集成服务在他的云效服务上,整个服务由项目,应用,环境,流水线组成。创建好具体应用后,可以创建对应的线上环境。我们因为设了预发布流程,所以有存在测试和生产两个环境

这两个环境同时存在部署策略,资源管理,部署历史和部署策略,这里面比较关键的就是部署配置和资源和策略。

部署配置是提供了一个钩子服务,他可以解决持续集成过程中你的一些指定操作,类似于插件,支持shell等基础操作。

资源管理是你上线的这些代码要发布的服务器

 首先你要把你采买的服务器引入到项目中,才能进行关联。

部署策略主要是分步上线的配置,主要解决的问题是先小范围上线,这样你可以先线上回归,没有问题后在进行全量上线,降低上线风险和影响范围。

这些准备完之后,就可以通过流水线,把你的代码仓库和构建逻辑,还有主机部署关联起来,最终完成一键发布。

 祝大家工作开心。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐