Vagrant 开发环境与流浪者+;厨师/木偶/盐:如何处理特定于用户的凭证(例如github)?

Vagrant 开发环境与流浪者+;厨师/木偶/盐:如何处理特定于用户的凭证(例如github)?,vagrant,chef-infra,puppet,chef-recipe,vagrantfile,Vagrant,Chef Infra,Puppet,Chef Recipe,Vagrantfile,我想与vagrant和朋友一起创建一个开发环境,以简化新开发人员的入职流程。已经找到了一些很棒的教程 我不明白的是如何处理用户特定的东西。例如,在Chef(或Puppet或Salt)设置中,我希望签出存储库(从github)。因为它们是私有的,所以我需要知道用户的凭据。这同样适用于npm登录和其他东西 有什么方法来处理用户特定的登录?vagrant的puppet实现中的一个可扩展点是能够将自定义事实注入puppet运行。请参阅文档中的“自定义事实”部分 剩下的问题是如何将这些事实提供给流浪汉档案

我想与vagrant和朋友一起创建一个开发环境,以简化新开发人员的入职流程。已经找到了一些很棒的教程

我不明白的是如何处理用户特定的东西。例如,在Chef(或Puppet或Salt)设置中,我希望签出存储库(从github)。因为它们是私有的,所以我需要知道用户的凭据。这同样适用于
npm登录
和其他东西


有什么方法来处理用户特定的登录?

vagrant的puppet实现中的一个可扩展点是能够将自定义事实注入puppet运行。请参阅文档中的“自定义事实”部分

剩下的问题是如何将这些事实提供给流浪汉档案。一种方法是在项目目录中创建一个包含用户特定设置的文件(yaml、json等),并将其读入Vagrantfile(毕竟它只是ruby)。确保将特定于用户的设置文件添加到源代码管理的忽略列表中。我从来没有尝试过这个插件,但看起来它做了很多


上面提到的问题有一个令人讨厌的副作用,那就是将密码存储在硬盘上,让团队中的任何人都知道要查看。如果这是不可接受的,您还可以在命令行上让Vagrant提示用户输入密码,并使用输入的值。不需要在主机上存储密码,但每次使用vagrant时都需要重新输入密码。

vagrant可以使用本地ssh密钥-因此无需存储任何其他凭据(至少对于github)。来宾系统可以从主机系统中继承ssh密钥?是,没错,但是在一个共享文件夹中的来宾系统上执行github相关的工作可能更有意义……当然,但是我可以使用主机系统中git克隆的ssh密钥。太棒了!