Fork me on GitHub
Você esta em:Home » Destaque » Github: Versionamento de módulo para Magento com Modgit

Github: Versionamento de módulo para Magento com Modgit

Com apenas 1 linha de comando você instala, realiza update e exclui módulos no Magento que se encontram no Github

Ao se desenvolver módulos para Magento, geralmente é muito tedioso adicionar o módulo junto ao Magento Connect. E por conta dessa burocracia somado a falta de tempo muitos desenvolvedores preferem adicionar seus módulo no Github. Na verdade existe também o fator de controle de versão do seu módulo, onde com o Github fica muito mais fácil além de ser a melhor opção para colaboração ao source do módulo e correções de bugs.

Com isso o Johann Reinke desenvolveu um SHell script baseado no Modman chamado de Modgit. O Modgit tem a vantagem de incluir ou excluir uma parte do repositório e não para criar links simbólicos, mas fisicamente copiar os arquivos para o seu projeto.

Mão na massa!

Abaixo irei explicar passo a passo de como instalar o Modgit utilizando o EC2 da Amazon com Linux também da Amazon.

Instalando o Github

Primeiramente vamos instalar o Github em nosso EC2 com o comando no shell:

$sudo yum install git gcc-c++ pcre-dev pcre-devel zlib-devel make

Já no Ubuntu, Debian e similares execute o comando:

$sudo apt-get install git-core build-essential zlib1g-dev libpcre3 libpcre3-dev

Pronto seu Github já estará instalado e pronto para rodar!

Caso queira testar o Github, execute dentro de uma pasta para teste o comando: $git init e logo depois o $git clone https://github.com/deivisonarthur/MagentoOffline

Você verá que será copiado da mesma forma apresentada no github o módulo do Magento chamado Magento Offline. Mas cuidado! Pois caso vc execute isso dentro de sua pasta do Magento utilizando somente o Github talvez ele irá substituir suas pastas por somente as pastas que estão no Github, isso fará com que seu Magento fique com erro por conta da substituição que ele fará em seus diretórios!

Já com o Modgit isso vc pode ter certeza que não acontecerá! Pois ele irá fazer simplesmente o processo de add os arquivos em seus respectivos diretório ou mesmo criar os diretórios caso ele não exista, como por exemplo uma nova template!

Instalando o Modgit

Existem 2 métodos para se inslatar o Modgit, pelo curl ou pelo wget. No meus teste realizei a instalação utilizando o wget!

curl installation

$curl https://raw.github.com/jreinke/modgit/master/modgit > modgit
$chmod +x modgit
$sudo mv modgit /usr/local/bin

ou

wget installation

$wget -O modgit https://raw.github.com/jreinke/modgit/master/modgit
$chmod +x modgit
$sudo mv modgit /bin

No meu linux bastou copiar os arquivos para dentro da pasta /bin mas em alguns outros casos necessita envia-los para a pasta /usr/local/bin!

Feito isso o Modgit já se encontra pronto para ser operado dentro de sua pasta do Magento, basta iniciar o Modgit com o comando:

$modgit init

Assim como é feito com o Github! OBS: Caso só queira mexer com o Modgit não mais precisara usar o Github, oque eu quero dizer é que para se trabalhar com Modgit não se faz necessário iniciar o Github tb! O Github poderá ser usado mas não para se copiar módulos do Magento!

Para se instalar um módulo para Magento que se encontra no Github bastará executar o comando abaixo substituindo o endereço pelo seu módulo:

$modgit clone <Apelido para o Modulo> <url do Github do módulo>

$modgit clone magentoffline https://github.com/deivisonarthur/MagentoOffline/

OBS: Caso você não tenha configurado de forma correta os usuários e grupos do Nginx, o usuário que irá realizar essa instalação e que será dono será o root, então caso você se depare com essa configuração ou troque as configurações no seu Nginx ou execute numa pasta abaixo da sua pasta que contém o Magento o seguinte comando:

$chown seuuserftp: seuuserftp -R /suapastamagento

$chmod 777 -R /suapastamagento

OBS: No tutorial que fiz sobre o Nginx a primeira prevenção de segurança foi restringir a pasta /app e outras para o acesso via browser, pois ao dar 777 seu local.xlm irá ficar visível caso não seja feito essa segurança prévia! E assim todos terão acesso via browser ao seu local.xml e ai chorou largado!!! rs

A nova estrutura de um módulo instalado ficará +/- assim:

Os outros comandos são tranks vejam:

Update a module:
$ modgit update <module>

Update all modules:
$ modgit update-all

Remove a module:
$ modgit remove <module>

Remove all modules:
$ modgit remove-all

List installed modules:
$ modgit list

Para mais informações acessem:

Bem é isso! Com o Modgit conseguimos controlar com precisão os módulos instalados em nossos clientes!

Controlando versionamento do módulo a nível desenvolvedor pelo Github

Acima eu disse instalados em nossos clientes rs bem se você pretende fazer o mesmo controle de versionamento em nível de desenvolvimento achei um post interessante que explica passo a passo de como enviar nossas modificações feitas no módulo de volta para o Github!

Ela encontra-se em: http://inchoo.net/ecommerce/magento/how-to-setup-git-for-magento-extension-development/

Basicamente esse artigo irá explicar como se criar uma pasta e dentro da mesma links simbólicos de nossos arquivos do módulo, assim podemos usar os comandos do Github para envio das atualizações do nossos módulo!

Bem é isso! espero ter ajudado!

Créditos:

  • Mauro Sergio Silva
  • Deivison Arthur
  • Ricardo Martins
  • Eric Cavalcanti
  • Marcelo Linhares
Link do Grupo de discussão do Google onde se originou meus estudos sobre o Modgit: https://groups.google.com/forum/#!msg/magentobr/_zwGzlbnKEI/P-YbRyvmH6sJ

Outras fontes de informações sobre Github:

Sobre o Autor

Designer, Web Developer & Linux Administrator

Meu nome é Deivison Arthur, tenho 29 anos, sou Administrador Linux, Analista de Sistema, Webdesigner e Pesquisador. há mais de dez anos. Nasci no Rio de Janeiro, atualmente trabalho como Gerente de Tecnologia e E-commerce at Grupo FFernandes e Freelancer nas horas vagas. Desenvolvimento em Joomla, Wordpress, Drupal, Magento e outros GPLs...

Quantidade de Artigos : 114

Comentários (1)

Enviar Comentário

© 2012 Powered By Wordpress, Deivison Arthur

Ir para cima