运维自动化--代码发布平台

随着业务线和项目增加,使用rsync 命令方式发布代码已经无法满足需求。所以想搞一套代码发布平台。

【需求收集】

1.年前开发了一个版本,当时只是和前端PHP团队沟通过。开发完发现后端需求和前端的需求有出入。所以这个版本给废掉了。

2.春节后,跟各业务线Leader重新沟通了一下需求,准备重新开发。

【开发架构】

1.前端设计:

页面使用Bootstrap、CSS和Jquery。

2.数据库设计:

数据库使用Mysql。

3.后端开发语言:

比较熟悉Django,所以使用Django开发。

【功能设计】

1.系统设置:

系统设置主要包括:组管理、用户管理、项目管理等。用户登入及权限管理,通过调用SSO API进行管理。

2.代码管理:

代码管理主要包括:PULL代码、PUSH 代码、CHECK代码、POST代码和       ROLLBACK。

PULL代码:

通过平台将测试完成的Code,PULL到Online 代码仓库,压缩并生成MD5校验。

PUSH代码:

首先选择发布项目、线上服务器、版本信息等。然后通过平台PUSH到线上服务器指定目录。

CHECK代码:

校验Online服务器代码MD5值是否和代码仓库代码MD5值相同。如果相同进入下一步。

POST代码:

如果验证通过,线上服务器代码路径软链到项目根目录,然后Reload服务。

ROLLBACK:

线上服务器会保留5份代码,当新上线的代码出现问题,可以通过ROLLBACK进行回滚到指定版本。

3.项目管理:

主要管理各项目、组和线上服务器对应关系以及访问权限。

【代码流程图】

【页面展示】

【总结】

现在V1版本已经上线,后期会根据新的需求进行修改。

时间: 2024-08-28 20:20:52

运维自动化--代码发布平台的相关文章

运维自动化之salt笔记

1:saltstack的基本介绍 2:salt的安装 1:服务端1:安装2:配置文件3:运行4:注意事项2:客户端1:安装2:配置文件3:运行4:注意事项 3:salt的使用: 1:基础知识1:targeting2:nodegroup3:grains4:pillar2:状态管理1:state1:state语法2:state的逻辑关系2:highstate3:salt schedule3:实时管理1:cmd.run2:module4:其他1:无master2:peer3:runner4:react

手游公司运维之利用Rundeck自动化运维工具和Shell脚本构建测试环境代码发布平台和生产环境代码发布平台

在做手游运维工作之前,我接触的代码发布都是常规的软件发布,有固定的发布周期.之前工作的那个外企有严格的发布周期,一年中的所有发布计划都是由Release Manager来控制,每次发布之前都需要做一些准备工作,如填写发布表单,上传发布需要的资源文件,联系发布过程中的相关人员,如开发和测试.最后在公司内部开发的发布平台上按照指定的时间点击鼠标对一个集群内的几台主机或全部主机进行代码发布.这个发布平台还是基于rsync服务实现的.虽然每个星期都有各种服务的发布,但是整个发布流程是可以控制的,并且发布

如何基于Python构建一个可扩展的运维自动化平台

嘉宾简介 刘天斯 从事互联网运维工作已13年,目前就职于腾讯-互动娱乐部,负责游戏大数据的运营,曾就职于天涯社区,担任首席架构师/系统管理员. 热衷开源技术的研究,包括系统架构.运维开发.负载均衡.缓存技术.数据库.NOSQL.分布式存储.消息中间件.大数据及云计算.Mesos.Docker.DevOps等领域.擅长大规模集群的运维工作,尤其在自动化运维方面有着非常丰富的经验.同时热衷于互联网前沿技术的研究,活跃在国内社区.业界技术大会,充当一名开源技术的传播与分享者. 导言 受 Reboot

运维自动化平台思路

⑴客户端初始化: info collect  信息收集  CMDB 配置管理工具 ⑵服务端 ①资产管理simplecmdb ②配置管理(软件安装.配置同步) puppet.saltstack.ansible ③代码发布(自动化部署) jenkins.svn.python xml RPC ④监控报警  nagios(关乎状态) graphite(关乎性能和趋势) ⑤日志搜集  kibana logstash  elasticasearch 运维自动化平台思路

实战:基于Python构建运维自动化平台

导语: 今天与大家一起探讨如何基于Python构建一个可扩展的运维自动化平台,也希望能与大家一起交流,共同成长. 此次分享将通过介绍OMServer.OManager具备的功能.架构设计.模块定制.安全审计.C/S结构的实现等几个方面的内容来展开. 为什么选择Python? 默认安装且跨平台 可读性好且开发效率高 丰富的第三方库(开发框架.各类API.科学计算.GUI等) 社区活跃&众多开发者. Python在腾讯的现状,根据去年内部提交组件语言统计,除去2.3.4前端技术,Python在高级编

结合Ansible在AWS云计算平台上实现运维自动化

刚刚看了金山梁晓聪的"在AWS上的运维自动化实践分享",发现技术都是相通的,大家都是用最好的技术.我们的业务平台主要也是AWS云计算平台,尝试了许多自动化运维/配置工具,最后还是选终了Ansible. 下一步在公司运维自动化DevOps要做的工作:增大Ansible在系统中的应用比重,真正跟AWS结合起来.选择 Ansible 主要因为丰富的相关支持,包括很多现有的组件和模块和开源的 Ansible 部署和脚本.笔者也尝试了市面上所有自动化运维和自动化配置工具,发现Ansible是对A

18页PPT带你深度解读运维自动化【转】

来自地址:[http://www.opsers.org/tech/18-pages-ppt-show-you-depth-interpretation-operations-automation.html] 说实话,一个运维团队的运维能力如何,其实看一个自动化管理系统便知! ********文章较长,索引目录如下******* 一.概述 二.运维自动化的三重境界 三.运维自动化的多维解读 ******第一.基于应用变更场景的维度划分 ******第二.基于系统层次的维度划分 ******第三.基

linux运维自动化之puppet简单应用(一)

一.pupper概述 puppet,这是目前运维主流的运维自动化工具,大多数运维管理人员都听说过,或者在使用以及在正在考虑使用中.puppet可以配合cobbler,puppet也可以配合func实现运维自动化,简单化,化繁杂为简单. 1.什么是puppet puppet是一种Linux.Unix平台的集中配置管理系统,使用ruby语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依

开源运维自动化

1. 开源运维自动化工具体系: 系统安装部署-Cobbler 配置管理部署--Saltstack 系统应用监控--zabbix 日志收集分析--fluentd or Elasticsearch 2. 集成开源自动化系统流程设计 裸机机房上架--->填写一些预配置信息(后期考虑直接实现"扫一扫")--->交给平台进行系统安装,进度控制等(cobbler的api实现)--->系统安装完成进行初始化和环境部署(saltstack的api完成)--->添加监控(zabb