使用 Capistrano 跨集群设置环境变量

Setting Environment Variables across a cluster with Capistrano

我正在寻找一种使用 Capistrano 在我的集群中设置和检索环境变量的方法,类似于使用 Heroku Toolbelt 在 Heroku 上执行此操作的方法。

我所有的服务器一般都是运行一个Linux,通常是Debian。

我前段时间写了一个名为 capistrano-env_config 的小工具,它可以在集群中设置、检索和同步 /etc/environment 文件。因此它适用于所有基于 *nix 的系统,包括 Debian GNU/Linux.

它的用法非常简单。以下是一些示例:

cap env:list
cap env:get[VARIABLE_NAME, VARIABLE_NAME, ...] 
cap env:unset[VARIABLE_NAME, VARIABLE_NAME, ...] 
cap env:set[VARIABLE_NAME=VALUE, VARIABLE_NAME=VALUE, ...] 
cap env:sync 

您可以查看 capistrano-env_config on GitHub 的完整文档。要设置它,只需将它添加到您的 Gemfile:

gem 'capistrano-env_config'

并将其加载到您的 Capfile:

require 'capistrano/env_config'