sábado, 24 de janeiro de 2015

Linux - Ambiente de Desenvolvimento - Parte 3

Gerenciador de Repositório: Nexus


Pacotes de Software são utilizados e gerados durante o processo de criação, conhecidos como artefatos. Projetos dependentes de um artefato externo devem recuperá-los de um repositório. É ideal que o usuário busque esses artefatos necessários de um único repositório central que é obtido com o Sonatype Nexus.

1. Baixar o arquivo compactado (tar.gz) do site do Nexus no seguinte endereço:
http://www.sonatype.org/nexus/archived/
2. Copiar para uma pasta /Aplicativos (crie-a caso seja necessário):
$ mkdir Aplicativos
$ cd Aplicativos
$ cp /Downloads/nexus-[versão]-bundle.tar.gz .
3. Descompactar o arquivo:
$ tar xvzf nexus-[versão]-bundle.tar.gz
4. Remover o arquivo compactado do diretório:
$ rm nexus-[versão]-bundle.tar.gz
5. Renomear o diretório deixando-o mais simples:
$ mv nexus-[versão]/ nexus/
6. Por padrão o Nexus já vem no endereço /nexus, porém caso esteja na raiz, editar o script nexus.properties na pasta /home/[usuário]/Aplicativos/nexus/conf e trocar o valor da seguinte variável:
nexus-webapp-context-path=/nexus
7. Acessar a pasta /etc/init.d e copiar o script nexus:
$ sudo su
# cd /etc/init.d
# cp /home/[usuário]/Aplicativos/nexus/bin/nexus .
8. Editar este roteiro:
# gedit nexus
9. Verificar o início deste que deve estar da seguinte forma:
#! /bin/sh
### BEGIN INIT INFO
# Provides:          nexus
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Nexus Maven Proxy
# Description:       Nexus Maven Proxy
### END INIT INFO
10. Modificar a variável NEXUS_HOME para o endereço correto:
NEXUS_HOME="/home/fernando/Aplicativos/nexus"
11. Habilitar e modificar a variável RUN_AS_ROOT, permitindo que o Superusuário o execute:
RUN_AS_USER=root
12. Salvar o script e iniciar o Nexus como um serviço:
# exit
$ service nexus start
13. Aguardar o serviço subir e acessar o Nexus no endereço:
http://[servidor]:8081/nexus
14. Logar no usuário padrão: admin e senha padrão: admin123.

Obrigado e até a próxima
Fernando Anselmo

domingo, 4 de janeiro de 2015

Linux - Ambiente de Desenvolvimento - Parte 2

Integração Contínua: Jenkins


Jenkins é um aplicativo para integração contínua utilizado para gerenciar a criação e implantação dos artefatos do projeto. Integração contínua é importante para um projeto pois constrói e verifica o projeto no momento que são realizadas modificações. Isso é fundamental, como por exemplo para verificar se não aconteceram problemas na versão integrada quando for realizado um check-in no sistema de controle de versão. Pois se o projeto é criado somente uma vez no final de um dia (ou semana) torna-se difícil rastrear a origem de todos os problemas.

1. No terminal habilitar a chave:
$ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
2. Saia do terminal e acessar o programa “Programa e Atualizações”. Na aba “Outros programas” pressionar o botão “Adicionar” e adicionar a biblioteca:
deb http://pkg.jenkins-ci.org/debian binary/

3. Retornar ao terminal e instalar o Jenkins:
$ sudo apt-get install jenkins
O Jenkins já está instalado e rodando na porta 8080, verifique isso no navegador através do endereço http://localhost:8080. Porém, precisamos realizar mais uma modificação.
4. Acessar o terminal e logar como superusuário:
$ sudo su
5. Interromper o serviço do Jenkins:
# service jenkins stop
6. Editar o script jenkins na pasta /etc/default
# gedit jenkins
7. Na última linha, completar a variável JENKINS_ARGS e adicionar o atributo prefix:
JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --prefix=$PREFIX"
8. Reiniciar o serviço do Jenkins:
# service jenkins start
9. Agora podemos testar corretamente o Jenkins no endereço:
http://[servidor]:8080/jenkins

Obrigado e até a próxima
Fernando Anselmo

sábado, 3 de janeiro de 2015

Ubuntu - Atualização do Kernel

Somente se você não entende nada de computadores, não sabe que um Sistema Operacional é formado basicamente pelo Kernel, o que vemos (a casca) é o ambiente gráfico que acessa esse Kernel para realizar as instruções. No Linux sempre ouvi o termo "Compilar o Kernel", ficava imaginando algo bem baixo nível e morria de medo para tentar realizar tal procedimento com a compilação de vários programas em linguagem C e tudo muito complexo.

Comecei a usar o Ubuntu na versão 14.04 e tive que atualizá-lo para a 14.10 no meio do ano passado sendo um procedimento tão simples que até criei uma imagem brincando com a situação:


No final do ano passado saiu uma atualização do Kernel para a versão 3.17.4. E todos meus medos retornaram, pensei em deixar isso e esperar a mudança para a versão 15.04 prometida para depois de Fevereiro/2015. Mas como bom "informático" que sou sei que manter o Kernel atualizado é bom para qualquer sistema. Criei coragem, venci meus medos e procurei como atualizar.

1º Passo - Descobrir a versão do Kernel e o tipo do sistema (abra um terminal Ctrl+Shift+T):
$ uname -a
2º Passo - Baixar os arquivos necessários:
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17.4-vivid/linux-headers-3.17.4-031704_3.17.4-031704.201411211317_all.deb
E complementares para 32 bits:
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17.4-vivid/linux-headers-3.17.4-031704-generic_3.17.4-031704.201411211317_i386.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17.4-vivid/linux-image-3.17.4-031704-generic_3.17.4-031704.201411211317_i386.deb
Ou para 64 bits:
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17.4-vivid/linux-headers-3.17.4-031704-generic_3.17.4-031704.201411211317_amd64.deb
$ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.17.4-vivid/linux-image-3.17.4-031704-generic_3.17.4-031704.201411211317_amd64.deb
3º Passo - Atualizar:
$ sudo dpkg -i linux-headers-3.17.4*.deb linux-image-3.17.4*.deb
E pronto, agora basta reiniciar a máquina e dar novamente o comando do primeiro passo para ver a versão do Kernel atualizada.

Atenção: No caso de qualquer problema é possível retornar ao Kernel anterior usando o comando:
$ sudo apt-get remove linux-headers-3.17.4* linux-image-3.17.4*
Obrigado e até a próxima
Fernando Anselmo