bellmit / rec-project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

=========================
== Processo de Release ==
=========================

O processo de release dá-se do seguinte modo:

1. quando se trata de uma versão para qual ainda não existe um branche, deve-se criar o mesmo a partir da trunk e prosseguir com o processo;
2. assim que exista uma branche de release basta aceder ao job "rec-ist-release" no Jenkins, clicar em Build with Parameters e preencher as propriedades necessárias para que o processo de release seja despoletado:
    - release_branch: o branche SVN sobre o qual irá ser feita a release;
    - release_task_id: o id do bug da release no Bugzilla;
    - release_version: uma vez que o projeto não tem atualmente um modo automático de obter a sua versão é necessário indicar a versão da release de modo fazer-se o processo de tagging e de arquivamento dos artefactos da release com base nesta mesma versão;
    - svn_username / svn_password: credenciais necessárias para os comandos svn do job;
3. é efetuado o checkout do branche em questão;
4. o build.properties.sample é copiado para build.properties;
5. o script $JENKINS_HOME/linkare-release-support/jenkins_scripts/rec-apply_properties.sh é executado e faz o seguinte:
 5.1. lê linha a linha o ficheiro build_production.properties, presente na raiz do projeto e que consite das propriedades que interessam personalizar para o ambiente de produção;
 5.2. verifica se a propriedade a ser avaliada está configurada (e descomentada) no build.properties;
 5.3. se a propriedade tiver a mesma configuração do ficheiro build_production.properties, então não é feito mais nada;
 5.4. se a propriedade existir mas tiver uma configuração diferente então é substituída pelo valor presente em build_production.properties;
 5.5. se a propriedade não existir então é adicionada ao final do build.properties.
6. o projeto rec é compilado com o comando "ant -f buildall.xml dist.all";
7. é realizado um download do WSDL atual do moodle (http://e-lab.ist.utl.pt/moodle/wspp/wsdl_pp.php) e o projeto rec.web é compilado com o comando "mvn clean package";
8. é gerado, na raiz do workspace do job, o arquivo "rec-${release_version}.zip", que contém os zips das experiências, dos multicasts e do cliente, bem como o WAR do rec.web;
9. o arquivo da release é copiado, via scp, para a diretoria ~/release-archives/ do user elab em elab.ist.utl.pt;
10. é marcada uma tag SVN da versão da release;
11. é enviado um e-mail com o resultado da execução do job de release para a mailing list release@linkare.com;
12. neste ponto pode-se prosseguir com o deploy do arquivo da release no servidor de produção.

About

License:GNU General Public License v3.0


Languages

Language:Java 79.9%Language:C 15.8%Language:HTML 1.8%Language:Rich Text Format 1.3%Language:Makefile 0.4%Language:C++ 0.4%Language:Shell 0.1%Language:CSS 0.1%Language:AspectJ 0.1%Language:Batchfile 0.1%Language:Assembly 0.1%Language:JavaScript 0.0%Language:Alloy 0.0%Language:Haskell 0.0%