Posts Tagged ‘jenkins’

Nouvelle série : optimiser le développement de modules Prestashop

Si comme moi vous développez des modules Prestashop vous avez sans doute déjà rencontrés pas mal de difficultés et perdu du temps sur des événements redondants.

Au cours des prochaines semaines, je vais donc partager avec vous les astuces utilisées quotidiennement dans mes développements.

Cette série d’articles devrait donc vous permettre d’optimiser le développement de modules Prestashop.
N’hésitez pas à partager vos astuces pour optimiser encore plus ces articles ! 🙂

Voici les différentes étapes qui seront détaillées :

Étape 1 : mise en place de l’environnement de développement

  • Oubliez wamp, utilisez vagrant
  • Versionnez vos sources ( github / git local / svn )
  • Mettez en place des outils de validation et de corrections des normes

Étape 2 : Industrialiser l’installation de Prestashop et des modules

  • Proposition du structure sur le serveur
  • Installer Prestashop via la ligne de commande
  • Gérer ses modules avec le module eiinstallmodulecli

Étape 3 : Tester fonctionnellement vos modules avec Phpunit et Selenium

  • Configuration de l’environnement pour exécuter les tests
  • Mise en place d’un framework de tests fonctionnels
  • Premiers tests fonctionnels

Étape 4 : Éviter les régressions avec l’intégration continue

  • Mise en place d’une plateforme d’intégration continue avec jenkins

 

Dans le cadre de cette série, les exemples seront liés à la solution Prestashop, mais ces bonnes pratiques peuvent être mises en œuvre sur de nombreux projets 🙂…

Pas de commentaires

Sécuriser l’accès à jenkins

Cet article fait suite à l’article suivant : Mise en place d’une plateforme d’intégration continue ( partie 2)

Une fois jenkins installé, celui-ci est disponible pour tout le monde et par défaut via l’ip de votre serveur sur le port 8080
En tapant http://ip-de-votre-serveur:8080 , n’importe qui visualisera donc les projets jenkins.

Pour sécuriser cela, nous allons mettre en place un reverse-proxy apache, qui communiquera avec le serveur jenkins.
Nous pourrons ainsi mettre en place une authentification basique htaccess / htpassword pour limiter les accès.
( Cela nécessite donc l’installation d’apache au préalable)

Dans mon exemple, je souhaite que le sous-domaine http://ci.example.com renvoie vers jenkins.
(Il faut donc au préalable faire pointer ce sous-domaine sur votre serveur )

Configuration du proxy

Pour commencer il faut activer le mode proxy et proxy_http d’apache, en saisissant les commandes suivantes

sudo a2enmod proxy
sudo a2enmod proxy_http

Passons ensuite à la création du fichier de notre vhost dans /etc/apache2/sites-availables/ créons un fichier jenkins.conf…

Pas de commentaires

Mise en place d’une plateforme d’intégration continue ( Partie 2 )

Une fois l’ensemble des éléments nécessaires à nos tests fonctionnels ( Installation des éléments nécessaires aux tests fonctionnels ) en place, passons à la partie suivante.
L’installation et la configuration de jenkins pour l’exécution des tests fonctionnels.

Installation de jenkins

Pour installer jenkins saisissez les commandes suivantes

wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

Il faut ensuite le lancer jenkins via la commande suivante

sudo service jenkins start

Jenkins est ensuite accessible sur le port 8080 de votre serveur via l’url : http://ip-de-votre-serveur:8080

Configuration et sécurisation de Jenkins

Pour commencer mettez à jour les plugins de jenkins via les liens :
– Administrer Jenkins
– Gestion des plugins
– Dans l’onglet mises à jour sélectionner tout les plugins à mettre à jour
– Cliquer sur « Télécharger maintenant et installer après redémarrage »
Gestion des plugin Jenkins

Sécuriser Jenkins :

Par défaut jenkins est accessible en accès complet et sans authentification, nous allons donc mettre en place des restrictions.…

Pas de commentaires

Mise en place d’une plateforme d’intégration continue ( Partie 1 )

Afin de suivre le bon déroulement de vos projets, il est important de pouvoir tester de manière régulière que votre applications fonctionne bien.
Ceci peut être réalisé via la mise en place de tests unitaires et fonctionnels, d’analyse de code etc…

Pour suivre cela de manière optimale, la mise en place d’une plateforme d’intégration continue est la suite logique de l’évolution de votre projet dès lors qu’il atteint une taille importante, ou qu’il comporte de nombreuses fonctionnalités spécifiques.

Il existe plusieurs plateforme pour réaliser cela, mais je vais me baser sur la plus connue : Jenkins (ex Hudson )

L’objectif à la fin de ce guide est d’avoir une plateforme de tests fonctionnels opérationnelle.
Celle ci-sera basée sur phpunit et selenium et firefox en mode headless
La procédure étant assez longue, ce sujet va être séparé en 2 articles :

– Installation des éléments nécessaires aux tests fonctionnels
– Installation et configuration de jenkins pour l’exécution des tests fonctionnels

Installation des éléments nécessaires aux tests fonctionnels.

Pas de commentaires


Archives

Compte Github