Existe uma maneira do Vagrant importar um arquivo de caixa local com uma versão especificada?

6

Estou usando caixas com controle de versão, mas não usando o Vagrant Cloud (tenho um host de caixa personalizada). O download de caixas com versão funciona bem.

No entanto, quando estou desenvolvendo novas versões de minha caixa localmente, não quero ter que passar por um ciclo de upload / download toda vez que quiser atualizar a versão da caixa carregada no Vagrant. Em outras palavras, gostaria de executar vagrant box add , ao especificar uma versão mais recente e um arquivo local.

vagrant box add parece ter uma opção --box-version , mas isso é para restringir a versão de uma caixa que está sendo baixada, não para especificar a versão de uma caixa que está sendo adicionada. A tentativa de especificar a versão da caixa de qualquer maneira resulta em:

You specified a box version constraint with a direct box file path. Box version constraints only work with boxes from Vagrant Cloud or a custom box host. Please remove the version constraint and try again.

Mas eu não estou tentando restringir o que estou adicionando; Estou tentando especificar . Qualquer forma de caixa adicionar que funciona parece definir a versão como 0. Existe alguma maneira de corrigir isso e dizer ao Vagrant qual versão estou adicionando?

    
por Dominic Scheirlinck 11.09.2014 / 04:37

1 resposta

3

Com base nessa resposta , para especificar uma versão para as caixas locais, você precisa criar um metadata.json .

O conteúdo mínimo do arquivo é assim:

{
    "name": "USERNAME/BOXNAME",
    "versions": [{
        "version": "X.Y.Z",
        "providers": [{
            "url": "package.box"
        }]
    }]
}

Em que package.box é o caminho relativo de metadata.json

Depois disso, você pode simplesmente executar vagrant box add metadata.json para adicionar uma nova caixa com uma versão.

Aviso:

O Vagrant armazena o metadata.json url no arquivo ~/.vagrant.d/boxes/FULLBOXNAME/metadata_url . Então, cuidado com nomes, você não pode usar o mesmo nome de fontes diferentes.

    
por 26.11.2015 / 23:53

Tags