[扩展推荐]使用 Eco 来管理你的 Laravel 环境变量

Laravel

通过Eco,你和你的团队之间可以很轻松和很安全的共享一些非产品类的环境变量,不再过多的去花费时间在配置一台秘钥服务器上存储这些变量。

Eco 设计的目的并不是用来做秘钥服务的.它为我们的开发提供了一种更简单的方式,不需要通过搭建第三方的秘钥管理系统而是用一种更常见的方式去和项目的运维人员一起共享环境变量。

Eco通过在本地保存一个文件来永久的存储任何你想保留的环境变量。在一个项目中,通过Eco生成了一个远程的’.eco’文件在项目的根目录;这个’.eco’文件是由可共享并且加密过的秘钥组成,使用的加密策略和GitHub中保存键值对的策略相同。

一旦你完成初始化之后,你可以使用一下 CLI 命令来创建一个新的 .env 文件(该文件基于 .env.example )。

eco env:fresh

你也可以通过 push/pull 从远程拉取或者提交 .eco 文件:

# 拉取远程 .eco 文件的 key/value 的命令
eco env:pull

# 提交远程 .eco 文件的 key/value 的命令
eco env:push

你可以通过文档 hotmeteor/eco-cli 来学习更多的关于 eco 的使用方法与案例。

开发该扩展的意义是什么?

你是不是曾经遇到过以下问题…

  • 本地的 .env 环境变量由于未知原因或者误操作而被删除或者进行了不可逆的操作,从而导致环境变量失效?
  • 你的团队中是否存在多个场景下的不用环境变量文件?
  • 你是不是需要一种更简单的方法来维护个环境之间的共享环境变量,而无需使用第三方秘钥管理?
  • 你是不是需要能够轻松的获取当前团队的最新环境变量?

如果你有以上任何一种需求,那么 Eco 正是你需要的,他能很好的解决以上问题和需求。

重要提示: 切勿使用 Eco 存储生产级别的环境变量,这样做不安全。所以一定不要,一定不要,一定不要。(重要的事要说三遍)

那么他是如何工作的呢?

Eco 它的工作原理很简单。它使用 3 中不同的存储机制进行操作:

  1. 首先是你项目的 .env 文件。这是你实际使用的地方,你的项目效果取决于这里。
  2. 你的本地仓库。这一个本地配置文件库,你可以永久存储你的任何环境变量,并且可以对其进行版本控制,从而方便的进行版本的回退与更新。
  3. 远程 eco 文件。当你需要将环境变量在团队之间共享的时候,通过共享操作,Eco在回购根目录中直接在以下位置创建一个.eco文件:分支。在.eco文件中是共享密钥,所有共享密钥都使用[与存储仓库机密时Github使用的相同策略]加密(https://docs.github.com/zh/rest/reference/actions#创建或更新存储库秘密)。该文件将存储团队推送给它的唯一的key:value对。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/manage-environm...

译文地址:https://learnku.com/laravel/t/49581

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!