Release do Portal Modelo

Este tópico trata do procedimento de geração de uma nova versão do pacote de instalação do Portal Modelo. Esse procedimento deve ser realizado sempre após a correção de um bloco de problemas ou do desenvolvimento de novas funcionalidades do portal, disponibilizando assim uma nova versão de cada pacote alterado e então a nova versão do instalador para a comunidade.

Como Gerar uma Nova Versão do Instalador

Antes de baixar o código fonte do instalador do Portal Modelo, você precisará instalar as dependências do sistema operacional. As dependências são as mesmas exigidas para instalar o portal usando o instalador unificado, portanto, execute os mesmos passos do Guia de Instalação do Portal Modelo 3, no tópico Dependências. Provavelmente você precisará atualizar a versão do pacote setuptools do seu Python, o que pode ser feito com o seguinte comando:

$ sudo easy_install setuptools

Nota 1: Sempre que for mencionada a variável $HOME é uma referência ao diretório do usuário que está executando os passos deste tutorial, ex.: /home/nome_do_usuario, o mesmo vale para o caractere ~.

Nota 2: O caractere $ indica que o comando está sendo executado como usuário normal, enquanto o # indica a execução como root.

Preparando o Ambiente

Primeiro é necessário obter o código fonte do Portal Modelo a partir do seu repositório de códigos:

$ git clone git@github.com:interlegis/portalmodelo-unifiedinstaller.git
$ cd portalmodelo-unifiedinstaller

Será então necessário alterar alguns arquivos, que são:

  • buildme.sh: Alterar a variável da linha 34 PORTALMODELO_VER=3.0b1 informando a nova versão do portal.
  • base_skeleton/portalmodelo-versions.cfg: Nesse arquivo é necessário adicionar ou modificar as versões dos pacotes que foram alteradas desde a última release. Essa lista pode ser obtida a partir do arquivo buildout.d/versions.cfg do ambiente de desenvolvimento.
  • base_skeleton/CHANGES.rst: Nesse arquivo é necessário adicionar as modificações feitas no software desde a última release. Elas podem ser obtida a partir do arquivo CHANGES.rst do ambiente de desenvolvimento.

Antes de iniciar o procedimento será necessário criar um diretório packages, que deverá conter os seguintes pacotes:

Gerando os Eggs

Após isso é necessário rodar o instalador com o seguinte comando:

$ ./install.sh standalone

Este comando irá instalar uma versão standalone do Plone no diretório $HOME/PortalModelo-3.0, então a execução deste comando deve demorar dependendo da conexão com a internet disponível, já que o mesmo terá que baixar todos os pacotes e montar o ambiente. Ao final terá criado a estrutura de diretórios abaixo:

~/PortalModelo-3.0
  |__ Python-2.7
  |__ buildout-cache
  |__ zinstance

O que interessa aqui é o diretório buildout-cache. Deve-se ter uma atenção especial por que este diretório é uma cópia do diretório antigo que está compactado dentro do packages, quando ele foi criado no passo anterior. Então por exemplo, supondo que se está atualizando a versão do pacote collective.polls da 1.4 para a 1.5, quando foi executado o ./install.sh, ele trouxe as duas versões. Nesse caso é preciso remover um dos eggs e seu respectivo pacote zipado em downloads/dist, deixando apenas a versão necessária. O mesmo deve ocorrer com cada pacote que tiver sua versão atualizada.

Gerando o Release

Agora que tem tudo o que precisa é necessário acessar o diretório $HOME/PortalModelo-3.0 e editar o arquivo buildout.cfg localizado em zinstance e remover a linha contendo o repositório de pacotes do Interlegis (http://arquivos.interlegis.leg.br/interlegis/produtos/pacotes), o mesmo deve ser feito no arquivo de mesmo nome localizado no diretório que foi clonado anteriormente portalmodelo-unifiedinstaller.

Ainda estando no diretório em $HOME/PortalModelo-3.0 é necessário compactar o novo buildout-cache com o seguinte comando:

$ tar ccjf buildout-cache.tar.bz2 buildout-cache

Este arquivo deve ser enviado para o repositório (buildout-cache.tar.bz2), ficando disponível para a geração da próxima futura versão do instalador.

Voltar então ao diretório que foi clonado portalmodelo-unifiedinstaller e executar os comandos abaixo:

$ rm packages/buildout-cache.tar.bz2
$ mv ~/PortalModelo-3.0/buildout-cache.tar.bz2 packages/
$ ./buildme.sh ~/PortalModelo-3.0
$ crontab -r

Feito isso já está no diretório $HOME/PortalModelo-3.0 o novo release PortalModelo-3.0b1-UnifiedInstaller.tgz, estando tudo ok já é possível acessar novamente o diretório clonado e fazer commit das alterações realizadas.

Tirando o MD5 do Pacote

Uma sugestão é, após a geração do pacote de instalação, sempre enviar ao cliente um hash MD5 para garantir a integridade do pacote, o que pode ser obtido com o seguinte comando:

$ md5sum PortalModelo-3.0b1-UnifiedInstaller.tgz

Voltar para o ProjetoPortalModelo

Última modificação 5 anos atrás Última modificação em 13/02/2015 19:37:09
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.