我认为我很了解傀儡和流浪汉然而我可能会把自己搞糊涂了。
所以我使用puphpet.com创建了一个Puppet设置,我选择 Digital Ocean 作为我的部署目标,然后输入我的API密钥,一切顺利。
他们说的最后一步是运行vagrant up
。
我猜这会在我的本地机器上安装一个虚拟机并创建一个Digital Ocean droplet然后在本地新的Droplet和虚拟机上运行puppet manifest。
我的主要问题是:我不确定它是否在我的Droplet中安装虚拟机?
有人可以帮助解释实际发生的过程吗?
答案 0 :(得分:1)
So Vagrant itself is just a wrapper around a hypervisor such as Virtualbox or a cloud provider like DigitalOcean.
The Vagrant DigitalOcean plugin will use the API to create a server to interact with, and then it will copy your files up and run them on the created server.
If you pick Digital Ocean as your deploy target, when you run public IEnumerable<IDictionary<string,object>> ExecuteQueryEx()
{
if (_conn.Trace)
{
Debug.WriteLine("Executing Query: " + this);
}
var result = new List<Dictionary<string,object>>();
var stmt = Prepare();
while (SQLite3.Step(stmt) == SQLite3.Result.Row)
{
var columnCount = SQLite3.ColumnCount(stmt);
var row = new Dictionary<string,object>();
for (var i = 0; i < columnCount; i++)
{
var columnName = Marshal.PtrToStringAnsi(SQLite3.ColumnName(stmt, i));
var columnType = SQLite3.ColumnType(stmt, i);
var value = ReadColEx(stmt, i, columnType);
row.Add(columnName, value);
}
result.Add(row);
}
Finalize(stmt);
return result;
}
it will create a server, then install Puppet on it, copy up the required manifests and install the stack you have requested.
From a quick test I just run, if you pick DigitalOcean as the provider, it will not created a VM on your local machine, it will only create the DigitalOcean server.