Se você estiver planejando fazer um aplicativo de back-end usando imagens de trabalho Pharo, provavelmente configurará um Jenkins ou algum tipo de servidor de CI .
Dois minutos depois disso, o servidor CI precisará ter um comando de terminal para:
- Inicie a construção da imagem.
- Carregue todos os requisitos e pacotes de aplicativos.
- Salve a imagem e saia.
Portanto, a primeira coisa que você pode fazer é criar algum código para fileIn. Depois de todo o carregamento do pacote, você pode colocar algum método lá para salvar a imagem e sair.
Isso iniciará a compilação e carregará tudo, mas você não poderá abrir a imagem novamente. Quando você tenta abrir essa imagem recém-construída, ela se fecha em uma fração de segundo. Você não verá nenhum despejo de memória ou logs de erro, nada de anômalo. Isso porque não é uma falha ou um erro. É simplesmente uma imagem normal encerrada.
Depois de examinar o problema por um tempo e testar diferentes combinações, descobri o comando que permite fazer as três coisas: construir , carregar e salvar corretamente.
/pharo -vm-display-null airflowing.image AirflowingWorkerBuilder.st --quit
Como funciona?
Funciona assim: carrega requisitos e pacotes do AirflowingWorkerBuilder.st
código filedIn , depois que todos os pacotes são carregados, a imagem é salva com um Smalltalk imageSave
e finalmente sai.
Tenha em atenção que o encerramento da imagem não deve ser efectuado pelo script filedIn. Outra coisa que você não deve fazer é tentar um do seu script filedIn, caso contrário, ele criará uma imagem que você não poderá mais abrir.Smalltalk saveImage: anImageName andQuit: true
Conclusão
Use a linha de comando para automatizar o encerramento da imagem em vez de codificá-lo. Se você usar a partir da linha de comando, o estado da imagem ao salvar permanecerá conforme o esperado quando a imagem fechar.--quit
--quit