Version 13 (modified by jeanferri, 5 anos atrás) (diff)

--

Release do Portal Modelo

Este tópico trata do procedimento de geração de uma nova versã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 a nova versão do instalador para a comunidade.

Como Gerar uma Nova Versão do Instalador

Convenção: 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

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.
  • buildout_templates/buildout.cfg: Adicionar abaixo da linha 53 find-links+= a URL do repositório do Interlegis (http://www.interlegis.leg.br/pacotes/catalogo/simple). Este arquivo, que é uma lista de todos os pacotes usados no Portal Modelo, deverá ser disponibilizado pelo Interlegis.
  • 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, este diretório deverá conter os 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 pacotes e montar o ambiente. Ao final terá a estrutura de diretórios abaixo:

PortalModelo-3.0
 |__ buildout-cache
 |__ Plone-docs
 |__ Python-2.7
 |__ 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 que já existe compactado dentro do pacote quando ele é clonado, então por exemplo, imaginando 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, então agora é preciso remover um dos eggs deixando apenas a versão necessária. O mesmo deve ocorrer com cada pacote que for atualizada a versão.

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 do Interlegis (http://www.interlegis.leg.br/pacotes/catalogo/simple), 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

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

$ rm -rf packages/buildout-cache.tar.bz2
$ mv $HOME/PortalModelo-3.0/buildout-cache.tar.bz2
$ ./buildme.sh $HOME/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

 

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