Archives de
Étiquette : travis

Code Climate pour PHP

Code Climate pour PHP

Peu de temps après mon article sur Codecov, j’ai vu Codeclimate. En de fournir la couverture de code, Codeclimate donne aussi des information sur la qualité du code.

Première étape, la création d’un compte avec github en cliquant sur « Login » puis « Quality ».

Une fois connecté cliquez sur « Open source » puis sur « Add a repository ».

Dans la liste cliquez sur « Add Repo » pour en face de votre projet.

Lors de votre prochain build, vous aurez alors accès a des informations sur la qualité de votre code.

Dans mon cas, pour le moment tout va bien 🙂 Mais on peut voir qu’il manque la couverture de code.

Il nous faut pour cela rajouter un secret dans Travis CI. Pour le trouver direction « Repo Settings » => « Test coverage » => Copiez le « test reporter id »

Dans Travis CI ajoutez le dans la section « Settings ».

Et lors de votre prochain build vous aurez la couverture de code dans la section « Overview »

Dans la section « Issues » vous trouverez la liste des problèmes détecté par Code Climate. Vous pouvez alors les corriger, ou bien choisir un des options afin de ne plus le voir.

Dans la section « Code » vous trouverez des informations fichier par fichier.

En sélectionnant un fichier vous aurez plus détails sur celui-ci

Notamment la couverture de code.

Et voilà, il ne vous reste qu’a regardez tous ça.

GitHub, Travis CI et Codecov pour PHP

GitHub, Travis CI et Codecov pour PHP

GitHub

Première étape la création d’un compte GitHub.

Ensuite il faut créer un nouveau repository.

Il faut choisir un nom, une description, si le projet est publique ou priver, si on veux un fichier README ainsi qu’une licence et un fichier .gitignore.

Une fois fait direction la ligne de commande pour utiliser git.

Dans un dossier vide faites la première commande, puis votre travail et la 2eme et 3eme commande afin de commiter vos fichier. Quand vous être prêt a pousser votre projet sur GitHub faites les 2 dernières.

git init
git add .
git commit -m "first commit"
git remote add origin git@github.com:dayofr/sfdc-rest-client1.git
git push -u origin master

Dans mon cas, sur GitHub on peut voir:

Travis CI

Première étape, la création du fichier .travis.yml. C’est ce fichier qui sera utilisé par Travis CI pour exécuter ce que vous lui demanderait.

Dans notre cas, on demande un machine pour PHP version 7.4, il est possible de demander plusieurs machine en rajoutant des valeur a la liste.

La partie script contient les commandes exécutés par travis, dans notre cas nous copions un fichier, installons les dépendance avec composer puis lançons les test avec phpunit. Il faut bien sur commiter et pousser ce fichier sur GitHub.

language: php
php:
  - '7.4'

script:
  - cp .env.example .env
  - composer install
  - vendor/bin/phpunit

Direction Travis CI pour la configuration. Une fois connecté avec GitHub, cliquez sur le menu en haut a droite et sur « Settings ».

Dans la liste des projets sélectionnez celui sur lequel vous travaillez.

Cliquez alors sur le nom de votre projet et vous devriez voir:

Il vous faut alors pousser du code sur GitHub pour que le travail soit effectué. Un nouveau travail devrais alors être démarré par Travis CI et vous devriez voir:

Nous avons la sortie console du travail fait par Travis CI.

Codecov

Pour avoir accès à la couverture de code, nous utilisons Codecov. Une fois connecté avec GitHub, cliquez sur le bouton « Add new repository » puis le projet que vous souhaitez ajouter.

La page suivante nous explique qu’il n’est pas obligatoire de rajouter une variable d’environnement pour Travis CI mais il m’a fallut le faire. Direction Travis CI afin de rajouter cette variable. Cliquez sur « Settings ».

Un peu plus bas dans la page vous trouverez une section « Environment Variables », ajoutez alors la variable.

L’étape suivante consiste a modifier le fichier .travis.yml pour lui rajouter les information de couverture de code et l’appel a Codecov.

  - vendor/bin/phpunit --coverage-clover=coverage.xml

after_success:
  # Submit coverage report to https://codecov.io
  - bash <(curl -s https://codecov.io/bash)

Lors du prochain travail de Travis CI vous aurez alors dans Codecov des informations.

Et voila, a chaque fois que vous pousserais du code sur GitHub, vous aurez un job Travis CI avec vos tests et la couverture de code avec Codecov.

Rails 4 et MongoDB part 4 : Heroku

Rails 4 et MongoDB part 4 : Heroku

Heroku est un service paas pour héberger des applications facilement. Afin de s’en servir facilement il faut suivre quelques conseils.

Premièrement, modifiez votre fichier mongoid.yml pour y ajouter :

production:
  sessions:
    default:
      uri: <%= ENV['MONGOHQ_URL'] %>
      options:
        skip_version_check: true
        safe: true

Une fois fait, ajoutez la gem rails_12factor à votre projet.

Créez-vous ensuite un compte sur Heroku, puis installez la Heroku Toolbelt. Allez alors dans le dossier de votre application et lancez les commandes suivantes :

heroku login
heroku create --region eu
heroku addons:add mongohq:small
git push heroku master

La 3e ligne sert à ajouter une base MongoDB à votre instance Heroku.

Une fois fait vous devriez alors pouvoir accéder à votre application en ligne.

Si vous utilisez Travi-CI vous pouvez le configurer afin qu’après un build réussît, le déploiement se fasse sur Heroku. Pour ce faire installer la gem travis avec la commande suivante :

gem install travis -v 1.5.4 --no-rdoc --no-ri

Toujours dans le dossier de votre application lancez la commande suivante pour mettre à jour votre fichier .travis.yml avec les informations requises pour Heroku :

travis setup heroku

Rajoutez la ligne run: rake assets:precompile dans la section deploy de votre fichier .travis.yml.

Lors de votre prochain push sur GitHub, à la fin du build Travis si vos tests sont tous passés, votre instance d’Heroku sera mise à jour.

Rails 4 et MongoDB part 3 : Travis

Rails 4 et MongoDB part 3 : Travis

Tout d’abord, qu’est-ce que Travis-CI ?

Travis-CI est un serveur d’intégration continue gratuit pour les projects open source.

Il est utilisé par beaucoup de projet afin de vérifier que les pull request n’introduise pas de bug et qu’il n’y a pas de régression lors de modifications.

Afin de l’utiliser il faut suivre les étapes suivantes:

  • Se connecter sur travis-ci.org avec son compte GitHub
  • Activer les dépôts que l’on souhaites tester
  • Ajouter un fichier .travis.yml a la racine de notre projet

Le fichier .travis.yml contient les informations dont Travis-CI a besoin afin de lancer les tests de votre dépôt.

Dans le cas de notre projet RoR avec MongoDB, il nous faut spécifier :

  • le langague
  • la version de interpréteur Ruby
  • notre base de données
  • l’environnement et la commende pour lancer les tests

Au final notre fichier .travis.yml sera le suivant :

language: ruby
rvm:
  -  2.0.0

services:
  - mongodb

script:
  - RAILS_ENV=test
  - bundle exec rake cucumber

Une fois se fichier disponible sur GitHub, Travis-CI va automatiquement lancer les tests a chaque commit.

Pour le dépôt du projet GitHub utilisé pour mes articles, la page Travis-CI est la suivante : https://travis-ci.org/dayofr/rails_tuto

On peux y voir le dernier test, la sortie de la console ainsi que l’historique des builds :

travis

Il est possible de rajouter un badge fin d’indiquer l’état actuel des tests du projet, généralement dans le fichier README à la racine du dépôt.