项目实战之微服务中的CICD
在
项目开发中的CICD中介绍了企业用户使用 GitLab 做持续集成和交付CICD
,并提供了一段实际工作中的配置来进行示范。但是那段示例对于比较简单的项目还是挺适用的。这里的简单项目是指服务比较少,架构比较简单,比如只包含前端,后端,数据库三个模块的项目。但是对于复杂的项目还使用这样的 CICD 流程会带来很多问题。所以本文基于 Docker Swarm 部署的微服务项目来对该持续集成交付的机制流程进行优化。
禹过留声
在
项目开发中的CICD中介绍了企业用户使用 GitLab 做持续集成和交付CICD
,并提供了一段实际工作中的配置来进行示范。但是那段示例对于比较简单的项目还是挺适用的。这里的简单项目是指服务比较少,架构比较简单,比如只包含前端,后端,数据库三个模块的项目。但是对于复杂的项目还使用这样的 CICD 流程会带来很多问题。所以本文基于 Docker Swarm 部署的微服务项目来对该持续集成交付的机制流程进行优化。
现如今持续集成(CI)和持续交付/部署(CD)大家已经不陌生了,它们是为了帮助项目能够更快的进行版本迭代。在这篇文章中,我将介绍如何使用使用 GitLab CI/CD 工具进行项目的自动化打包和部署。
[阅读全文]权限管理是所有后台系统的一个重要组成部分,其目的是控制用户(User)对资源(Resource)的操作(Action),避免因为权限控制缺失或操作不当引发风险,比如操作失误,隐私数据泄露等问题。 迄今为止最为普及的权限设计模型是基于角色的访问控制模型(Role-Based Access Control)。它主要是将用户和用户组捆绑在一起叫主体,资源和操作捆绑在一起叫权限,中间用角色做桥梁关联二者。 但近年来随着对数据管控的精细化,资源和操作的捆绑成为了其掣肘。所以资源也需要像用户那样拥有资源组的概念,这样就变成了用户/用户组对资源/资源组有操作权限,这就是基于资源角色的访问控制模型。 本文将详细描述基于角色的访问控制模型到基于资源角色的访问控制模型的进化过程,并使用强大、高效的开源访问控制框架 Casbin 来设计一个基于资源角色的访问控制系统。
[阅读全文]系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对用户了解系统的运行状态是非常有用的,所以需要把它们保存到对应的日志文件中,以便后续进行分析和监控系统或软件的状态。 Linux 系统拥有非常灵活和强大的日志功能,几乎可以保存所有的操作记录,并可以从中检索出我们需要的信息。完成这个工作的守护进程就是 rsyslog。
[阅读全文]Flask 被称为“微框架”。其中的“微”字不代表整个应用只能塞在一个 Python 文件内,也不代表 Flask 功能不强。它表示 Flask 的目标是保持核心简单而又可扩展。 它不会替使用者做决定,比如选用何种数据库,使用何种模板引擎等。Flask 通过扩展功能来增加它的功能。扩展之于 Flask,就像第三方库之于 Python,插件之于 Vscode。本文将介绍如何开发一个简单的 Flask 插件:HTTPClient,并将其发布到 Python 官方索引 Pypi(Python Package Index) 上。
[阅读全文]