Este é um exemplo prático de uso de Rake, Vagrant e o livro de receitas Scholars' Lab's Chef para criar um ambiente de desenvolvimento funcional para um site baseado em Omeka e Solr.
Isso requer este software para começar:
Isso fornece um conjunto de tarefas Rake para gerenciar a VM gerenciada pelo Vagrant.
Para que isso funcione, você precisará definir as senhas especificadas no Vagrantfile
. Para a maioria de vocês isso será impossível, pois não têm acesso aos recursos mencionados. No entanto, isto ainda deve fornecer um bom exemplo de configuração de um sistema como este.
Você também precisará do conteúdo do site, fornecido por um despejo de banco de dados e um tarball de arquivos estáticos. No Rakefile
, eles são nomeados falmouth-production.sql.gz
e archive.tar.bz2
. Ele será executado com êxito sem eles, mas o banco de dados não será preenchido e você precisará remover as dependências da tarefa init
em setup:loaddb
e setup:archive
.
Basicamente, você usará isso colocando o Vagrantfile
e Rakefile
em um diretório e chamando:
$ rake init
Uma vez feito isso, você precisa terminar a atualização do Omeka e acionar a recriação do índice Solr. Para fazer isso, siga estas etapas:
/solr/
.É isso. Você pode acessar o site em http://localhost:8050/.
Primeiro, a tarefa init
clona os livros de receitas do Chef necessários no GitHub.
Em seguida, ele inicializa a VM. Isso configura o Omeka e o Solr. Isso também baixa o tema Falmouth Omeka e os plug-ins CsvImport, SolrSearch, VraCoreElementSet e Dropbox. Finalmente, ele carrega os dados (o dump do banco de dados e o arquivo estático) e configura o Solr.
O Rakefile
possui diversas tarefas úteis.
Isso extrai todos os dados possíveis e configura o site. Isso só precisa ser chamado uma vez.
Isso remove tudo o que a tarefa init
configurou. Isso destrói a VM e remove os dois repositórios GitHub baixados.
Às vezes, o Chef tem problemas para configurar as coisas e deixa um arquivo stacktrace na VM. Isso faz uma chamada SSH para enviar o arquivo para o terminal.
Isso faz um desligamento normal da VM. Isso é melhor do que chamar vagrant halt
, que faz um desligamento forçado.