Aonde
Plano de Gerenciamento de Software
[editar | editar código-fonte]Introdução
[editar | editar código-fonte]Trabalho
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]Empacotamento Debian
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]Data | Marco |
---|---|
15/10/2016 | Entrega do Ambiente Vagrant |
29/10/2016 | Empacotamento Debian |
05/11/2016 | Análise dos resultados |
Resultados
[editar | editar código-fonte]Vagrant
[editar | editar código-fonte]Para a criação do vagrant é necessário a instalação dos pacotes:
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 | editar código-fonte]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 | editar código-fonte][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>