如何在yml中加上git用户名和密码的验证_使用Apollo升级一下yml文件管理和发布
背景
在一些项目组中,使用springboot+yml文件的组合方式,进行应用开发和发布。
应用读取方式:yml文件通过configmap进行挂载到容器,让应用进行读取。
配置文件管理方式:yml文件统一存放在git中,git的权限配置为运维可操作。
这种管理模式存在一些问题:
- 效率低下:改动任何非敏感内容,都需要运维介入,增大沟通成本;
- 敏感信息泄露风险:运维作为信息管理者,敏感信息也可以获取,例如:数据库用户名和密码等
- 发布流程缺乏:配置文件更改后,没有对应的审核机制,容易产生误操作。
- 敏感信息暴露:使用confmap进行挂载,相关敏感信息也难以进行权限管理,也同时把敏感信息进行明文暴露
面对这些需求,使用Apollo作为底层配置文件存储,融入现有运维平台中,进行配置文件的管理
- Apollo作为存储yml配置文件底层;
- 对敏感信息进行加密处理;
- 将配置文件修改和配置文件发布审核权限进行分离;修改权限分给该应用的开发人员;发布权限分给对应指定人员;
- 将配置文件的拉取融入CI过程中;
逻辑架构图
- 新增、修改配置文件:应用开发人员对配置文件进行信息初始化(或者修改)
- 审核人员 or 敏感信息填写人员:审核人员:确定配置是否正常、通过发布请求;敏感信息填写人员:DBA填写数据库用户名和密码等
- 新增、修改、发布、加密敏感信息:平台发现敏感内容,则对其进行加密;配置文件封装完毕后,后台调用Apollo客户端进行CRUD
- 发布应用:配置文件审核通过后,开发人员可以自助进行发布;
- 拉取配置文件:CI过程中对配置文件进行拉取,并解密;把还原后的配置文件放置在对应的代码目录位置中;最后,对代码和配置文件进行jar打包;
- 线上变更:通过CD进行线上平台发布
效果图
配置文件入口
配置文件浏览
审核浏览
加密解密工具
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.3</version></dependency>
Apollo API客户端
<dependency><groupId>com.ctrip.framework.apollo</groupId><artifactId>apollo-openapi</artifactId><version>1.7.0</version></dependency>
效果
- 开发团队对配置文件进行自治管理;
- 敏感信息得到加密保存;
- 发布流程中,加入了审核环境,降低误修改几率;
后续改进
开发团队可以使用Apollo客户端,对配置文件进行读取,从而不需要在CI过载中,对配置文件进行装配
如何在yml中加上git用户名和密码的验证_使用Apollo升级一下yml文件管理和发布相关推荐
- hive获取mysql里的文件_apache – 如何在hive中获取数据库用户名和密码
我正在编写jdbc程序来连接hive数据库.我想要用户名和密码在连接网址中提供. 我不知道如何使用hive QL获取用户名和密码. 任何人都可以帮助我吗? Exception in thread &q ...
- 如何在IDEA中使用git
如何在IDEA中使用git? 以下是本文目录大纲 在 idea 中配置 git 将工程添加至 git 从远程仓库克隆 从服务端拉取代码 1. 在 idea 中配置 git 安装好IntelliJ ID ...
- 是程序员都可能用到版本控制,如何使用它?如何在Vim中使用Git?
版本控制是本章的重要内容之一.虽然本书选择的版本控制系统是Git,但是本章的知识也适用于其他版本控制系统.本章只提供了一节内容简略地介绍版本控制,如果读者想要更深入地了解,还需要有针对性地阅读相关材料 ...
- java对密码进行加密的方法_如何在JAVA中使用MD5加密对密码进行加密
如何在JAVA中使用MD5加密对密码进行加密 发布时间:2020-11-25 17:12:40 来源:亿速云 阅读:118 作者:Leah 本篇文章为大家展示了如何在JAVA中使用MD5加密对密码进行 ...
- 这意味着您在wp-config.php文件中指定的用户名和密码信息不正确
天哪,来来回回创建删除数据库,来来回回建站点,进入正题: 我是用wordpress和宝塔面板搭建个人网站的,搭建好网站点,解压wordpress,无论是建站时创建mysql数据库还是建好站后创建数据库 ...
- php 清除浏览器记住密码,网页登录中实现记住用户名和密码的功能(完成自动登录)...
网页记住用户名,就是我们经常会用到的,登录下面有一个复选框,可以设置用户7天内或1个月不需要登录,只要你进行本网站系统查询cookie是否有相差用户名与密码如果是就把信息提取再到数据库中查询,如果co ...
- 十八.用户注册 ---- 用户名/用户密码/手机号验证 2021-04-07
十八.用户注册 ---- 用户名/用户密码/手机号验证 引言 注:该篇文章接上一篇 十七.用户注册 ---- 图形验证码 在上一篇文章我们实现了用户注册中的图形验证码过程,接下来我们要实现用户名验证, ...
- 模拟一个“系统登陆“窗体,进行用户名和密码的验证: 1.当用户名和密码都正确时,弹出一个对话框,提示“用户名和密码正确”, 2.用户名错误,弹出一个对话框,提示“用户名错误,请重新输入!”
模拟一个"系统登陆"窗体,进行用户名和密码的验证: 1.当用户名和密码都正确时,弹出一个对话框,提示"用户名和密码正确", 2.用户名错误,弹出一个对话框,提示 ...
- 删除git中缓存的用户名和密码
我们使用Git命令去clone Gitlab仓库的代码时,第一次弹框提示输入账号密码的时候输错了,然后后面就一直拒绝,不再重复提示输入账号密码,怎么破? git报错信息 运行一下命令缓存输入的用户名和 ...
最新文章
- R语言分类模型:逻辑回归模型LR、决策树DT、推理决策树CDT、随机森林RF、支持向量机SVM、Rattle可视化界面数据挖掘、分类模型评估指标(准确度、敏感度、特异度、PPV、NPV)
- oracle创建用户、表空间、临时表空间、分配权限步骤详解
- 初学scrum及首次团队开发
- linux scp 输入密码,Linux scp远程复制数据不需要输入密码
- 悄悄告诉你,在硅谷,有一种工作比程序员挣得多
- php和全栈,php与h5全栈工程师是什么意思
- android zip4j之--解压zip文件并实时显示解压进度
- 电源线径大小与用电负荷的关系
- 如何把网站程序文件快速上传到服务器空间经历分享
- spa项目开发之tab页实现
- 如何推动数字经济新时代产业转型升级
- C语言求6阶余子式,usdt交易 -usdt交易V3.6.39
- 模拟卷Leetcode【普通】714. 买卖股票的最佳时机含手续费
- 谷歌学术403异常处理
- MySQL DDL 在指定位置新增字段
- Codeforces Round #663 (Div. 2) A-D
- 网易前端微专业课程讨论区问答精选
- 智能家居Homekit解决方案
- 迹美 java_三款图像处理软件人像美容效果大比拼
- 世界上最遥远的距离 泰戈尔