Ubuntu Server 10.10 + Jenkins CI + PHP QA Tools

No início do ano passado (Março/2011) disponibilizei a VM de um servidor de integração contínua utilizando Ubuntu Server 10.10 e Jenkins, com (quase) todas ferramentas de QA inclusas, pronto para uso.

Para quem já baixou a VM, o usuário e senha para autenticar-se no Ubuntu é: jenkins.
(Ubuntu user/password: jenkins).

Para quem ainda não baixou, algumas opções:

  1. Torrent: http://thepiratebay.se/torrent/6264129
  2. Dropbox (HTTP): http://t.co/nfOA9Nb2 (pode ficar temporariamente indisponível devido excesso de tráfego)
  3. 4shared (HTTP): http://goo.gl/qT01a (agradecimentos ao Kassner por publicar)

Após baixar, recomendo executar no terminal:

sudo apt-get update --fix-missing && \
    sudo apt-get dist-upgrade -y
sudo pear update-channels && sudo pear upgrade --alldeps
sudo pecl update-channels && sudo pecl upgrade --alldeps

 

Configurações Gerais da VM:

  • Imagem da VM para Virtualbox;
  • Ubuntu Server 10.10 32bits;
  • Apache 2;
  • Jenkins CI;
  • PHP 5.3 (with CLI);
  • MySQL 5.1;
  • PostgreSQL 8.4;

Para acessar o Jenkins, basta informar a seguinte URL no navegador:
http://{IP}:8080

Caso não funcione, verifique se o Jenkins está rodando na máquina virtual.
Caso não esteja, execute o seguinte comando:

java -jar jenkins.war

Os créditos da configuração do Jenkins são do Sebastian Bergmann, através do Template for Jenkins Jobs for PHP Projects.

Posted in Artigos | Tagged , , , , , | Leave a comment

Sobrescrevendo controllers do admin no Magento

Para exemplo, utilizarei um módulo chamado Comnisky_Adminhtml, com sua estrutura previamente cadastrada. O caminho deste módulo é app/code/local/Comnisky/Adminhtml/.

Edite o arquivo app/code/local/Comnisky/Adminhtml/config.xml, e inclua o conteúdo de forma que fique parecido como abaixo. A parte relevante está entre as tags <routers> e </routers> dentro de <admin>:

< ?xml version="1.0"?>
<config>
    <modules>
        <comnisky_adminhtml>
            <version>1.0.0</version>
        </comnisky_adminhtml>
    </modules>
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <comnisky_adminhtml before="Mage_Adminhtml">Comnisky_Adminhtml</comnisky_adminhtml>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>
</config>

Copie o arquivo app/code/core/Adminhtml/controllers/Catalog/ProductController.php e cole em app/code/local/Comnisky/Adminhtml/controllers/Catalog/ProductController.php, em seguida edite esse arquivo.

Adicione o require_once no início do arquivo:

require_once 'Mage/Adminhtml/controllers/Catalog/ProductController.php';

E depois estenda da classe do core:

class Comnisky_Adminhtml_Catalog_ProductController extends Mage_Adminhtml_Catalog_ProductController

Feito isso, basta realizar as customizações nos métodos.

Posted in Artigos | Tagged , | 2 Comments

Magento: exibindo SQL de collection

Em qualquer classe que estenda de Mage_Core_Model_Mysql4_Collection_Abstract e/ou Varien_Data_Collection_Db é possível visualizar a SQL montada para recuperar essa coleção de registros. Basta fazer um cast para string:

var_dump((string)$collection->getSelect());

Ou sem cast:

var_dump($collection->getSelect()->assemble());
Posted in Artigos | Tagged , , | 1 Comment

Visualizando o encoding de arquivos

O comando file com a opção -i retorna o MIME type e MIME encoding para o arquivo informado.

Em conjunto com os comandos find e grep, é bem útil para encontrar encoding incorreto em arquivos.

find ./ -iname '*.php' -type f -exec file -i '{}' \; |
   \ grep -i -v "utf" | sort

Update 06/08/2011: corrigido. Estava faltando o ‘pipe’ antes do grep.

Posted in Genérico | Tagged , , | Leave a comment

Firefox 4 no Ubuntu

sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo apt-get update

Depois, caso já tenha o Firefox:

sudo apt-get dist-upgrade

Caso contrário:

sudo apt-get install firefox
Posted in Artigos | Tagged , , | Leave a comment