Plano de Gerenciamento de Software

editar

Introdução

editar

Trabalho

editar

Este é um trabalho final da disciplina gerência de configuração de software(GCS), onde será feito contribuição a um repositório de software livre, as contribuições feitas no mesmo serão relacionadas a gerência de configuração, logo será aplicado o que foi aprendido durante a disciplina no repositório.

Projeto

editar

Aondê é um sistema web que disponibiliza as informações dos órgãos públicos disponíveis no portal da transparência do governo brasileiro. Logo o intuito do sistema é fornecer com facilidade aos usuários a visualização do dados coletados, como por exemplo a visualização das informações dos gastos públicos em gráficos e rankings entre os programas e empresas que mais receberam recursos dos órgãos federais.

Objetivos

editar

Empacotamento Debian

editar

Pacotes da extensão .deb são uma forma de distribuição de software muito utilizado dado a popularidade do debian e as distribuições linux baseadas nele. Seŕa feito o empacotamento do software Aondê e de todas as suas dependências para facilitar sua distribuição.

Vagrant

editar

Vagrant é uma ferramenta voltada a criação de ambientes de desenvolvimento padronizados, sendo a configuração desses ambientes automatizada criando uma virtualização de um Sistema operacional específico e um conjunto de softwares definida pelo usuário.

Cronograma

editar
Data Marco
15/10/2016 Entrega do Ambiente Vagrant
29/10/2016 Empacotamento Debian
05/11/2016 Análise dos resultados

Resultados

editar

Vagrant

editar

Para a criação do vagrant é necessário a instalação dos pacotes:

  • Oracle Virtual box (disponivel aqui);
  • Vagrant (disponivel aqui).

Após instalado as dependências deve ser criado um vagrantfile onde se encontra a configuração da maquina virtual:

$ vagrant init ubuntu/trusty64

Dentro do vagrantfile há a sessão config.vm.provision onde deve ser adicionado o script shell responsável por instalar as dependências necessárias para o desenvolvimento rails onde deve ser acrescentado o script abaixo:

config.vm.provision "shell", inline: <<-SHELL
     # updating system and installing ruby dependences
     apt-get update
     apt-get install -y apache2
     apt-get install -y git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

     # install rvm
     cd
     apt-get install -y libgdbm-dev libncurses5-dev automake libtool bison libffi-dev
     gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
     curl -sSL https://get.rvm.io | bash
     source /usr/local/rvm/scripts/rvm
     # install ruby
     rvm install 2.2
     rvm use 2.2 --default

     # Install Bundler
     gem install bundler
     
     # Install NodeJS
     curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
     apt-get install -y nodejs

     # Install Rails
     gem install rails -v 4.2.4


   SHELL

Após isso a maquina deve ser provisionada utilizando o comando:

$ vagrant up

Após isso o ambiente para desenvolvimento rails vai estar criado,configurada e ligada, para conectar nela basta usar o comando:

$ vagrant ssh

Empacotamento Debian

editar

O empacotamento debian como foi dito acima é muito utilizado por pessoas para instalarem seu software de maneira rápida.

Bom, os resultados obtidos para realizar o empacotamento de um projeto ruby on rails é bem simples de ser feito.

Primeiramente é necessário que você instale os seguintes pré-requisitos:

$ sudo apt-get update
$ sudo apt-get install -y build-essential rng-tools git ruby1.9.1-full rubygems1.9.1

Próximo passo, é necessário que escolha um repositório para clonar o projeto ou crie um diretório qualquer.

mkdir ~/Git
cd ~/Git
git clone https://github.com/GCS-TEM-DF-2016-2/Aonde.git

Agora realmente será iniciado o processo de empacotamento, utilizaremos o pkgr que facilitará o processo. Seguindo o exemplos de diretório acima:

$ pkgr package /home/luis/Git/Aonde/ --auto --dependencies=mysql-server --after-install=/home/luis/Área\ de\ Trabalho/after_script.sh

A partir desse comando, todas as dependências que estão no projeto serão empacotadas.

Exemplificando os três comando utilizados:

  • --auto: baixa todas as depêndencias do projeto.
  • --dependencies: baixa dependências externas, porém requeridas ao projeto.
  • --after-install: executa um script definido, após a instalação do arquivo .deb.

Foi utilizado o seguinte script, apenas para facilitar para o usuário:

$ cd /opt/Aonde
$ bundle install

Após o fim do empacotamento será gerado o empacotamento do projeto na mesma pasta do projeto, nesse exemplo foi gerado um arquivo .deb chamado: aonde_2.0-20161112163455_amd64.deb

Pronto, empacotamento DEB realizado com sucesso!

Por fim, execute o projeto com o seguinte comando no diretório onde o mesmo foi instalado:

$ sudo rails s

Referências

editar

[1] http://crohr.me/journal/2014/how-to-get-a-debian-package-out-of-your-rails-app-and-host-it-on-s3.html <Visto em: 06/11/2016>

[2] http://crohr.me/pkgr/ <Visto em: 24/11/2016>