I try to do CI with Drupal & Jenkins
Installation de Jenkins
- wget -q -O http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
- echo "\nhttp://pkg.jenkins-ci.org/debian binary/" | tee -a /etc/apt/sources.list
- sudo apt-get install jenkins
Installation de GIT & Ant
- sudo apt-get install git-core
- sudo apt-get install ant
Installation de PHP/Mysql & PEAR
- sudo apt-get install php5
- sudo apt-get install php5-mysql
- sudo apt-get install mysql
- sudo apt-get install php-pear
- sudo pear upgrade-all
Installation de drush
- sudo pear channel-discover pear.drush.org
- sudo pear install drush/drush
- sudo pear upgrade --force Console_Getopt
- sudo drush --version
Recuperation du Jenkins-cli.jar pour l'utilisation en ligne de commande
Installation des plugins Jenkins
- sudo java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin checkstyle
- sudo java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin ci-game
- sudo java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin dry
- sudo java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin pmd
- sudo java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin git
- sudo java -jar jenkins-cli.jar -s http://localhost:8080 safe-restart
Architecture
- /var/lib/jenkins Répertoire home de l'utilisateur jenkins
- /var/lib/jenkins/jobs Répertoire ou se trouve les differents jobs
- /var/lib/jenkins/jobs/${ITEM_ROOTDIR}/ Répertoire d'un personelle du job : config.xml, build.xml, ...
- /var/lib/jenkins/jobs/${ITEM_ROOTDIR}/workspace espace de travail d'un job, fichier source clone avec GIT
- /var/lib/jenkins/jobs/${ITEM_ROOTDIR}/builds Regroupe l'ensemble des builds d'un job
GIT
- Générer une cle ssh pour l'utilisateur jenkins
- ssh-keygen -t rsa -C "[email protected]"
- L'ajouter au authorized_keys du server GIT
- ssh UserGIT@IpServerGIT "echo $(cat ~/.ssh/id_rsa.pub) >> .ssh/authorized_keys"
Install de tous les plugin d'analyse de code PHP
- PHP_Documentor (Pour drupal ajouter les extentions module et intall au phpDocumentor.ini)
- PHP_CodeSniffer (Ajouter les coding standard de drupal http://drupal.org/project/drupalcs)