Archives par étiquette : github

Reprise de Pibou : Git, Rails et Heroku avec Windows

Bien le bonjour,

Comme promis, nous allons continuer Pibou sous Windows. Au menu du jour :

  1. Installer un environnement de développement Rails sous Windows
  2. Récupérer le projet Pibou qui est resté au chaud sur github 
  3. Tester le déploiement du projet sur heroku depuis Windows

Ruby & rails

  • Pour installer Ruby sur notre poste, nous allons utiliser rubyinstaller & ruby developement kit (outils pour les extensions natives) téléchargeables tous deux sur http://rubyinstaller.org/downloads/
  • Une fois Ruby installé, nous trouvons tout ce qu’il nous faut dans C:\Ruby193\bin (par défaut) et RubyGem prêt à servir
  • Pour le kit de développement, il suffit de suivre les instructions du wiki
  • Vous risquez devoir installer Python, allez faire un tour sur http://www.python.org/getit/ (ajoutez le répertoire d’installation dans votre path)
  • Pour se préparer à l’utilisation de SQLite3, nous allons l’installer à partir du zip pour windows
    1. déposer avec délicatesse les fichiers sqlite3.dll & sqlite3.def dans notre répertoire tout neuf C:\Ruby193\bin
    2. Lancer la commande gem install sqlite3 dans votre shell préféré
  • Tant que nous avons le shell sous la main, installons rails avec la commande gem install rails (il y en a pour un petit moment)

Et voila, vous pouvez vérifier votre installation via les commandes ruby –version  & rails –version

IDE & Récupération du projet pibou

  • Si vous ne l’avez pas déjà, installez GIT
  • Nous allons installer Aptana histoire de tester l’un des IDE gratuit les plus utilisé pour le développement web.
  • Puis, nous allons utiliser l’import Git avec l’url github du projet https://github.com/jbdoumenjou/pibou.git
  • Nous allons profiter de problèmes de compatibilité pour mettre à jour le Gemfile
      • Petite mise à jour de Rails en 3.2.8
    gem 'rails', '3.2.8'
      • Nous allons passer therubyracer dans le scope de production
    group :production do
      gem 'pg'
      gem 'libv8', '3.11.8.0'
      # See https://github.com/sstephenson/execjs#readme for more supported runtimes
      gem 'therubyracer', :platform => :ruby
    end
  • Un bundle install plus tard et nous sommes à jour
  • N’oublions pas d’indexer nos changements
    • git add Gemfile Gemfile.lock
  • Puis de les ajouter au dépôt local
    • git commit -m « Worked on the configuration to develop under windows »
  • Ces modifications sont visibles sur github
  • Pour lancer le projet sur notre poste, il faut commencer par générer la base
    • rake db:migrate
  • Puis lancer le server
    • rails s
  • Et vérifier sur http://localhost:3000/movies que nous avons bien l’application

Le dépoilement sur Heroku

  • Installons heroku belt sous windows
  • Ensuite, il faut nous connecter au service heroku via une commande lancée à la racine du projet
    • heroku login
  • Ajoutons la clé ssh de notre nouvelle machine
    • heroku keys:add
  • Ajoutons le dépot heroku à nos dépots distants
    • git remote add heroku git@heroku.com:pibou.git
  • Et envoyons nos modifications sur le dépôt distant heroku (ça prend un moment):
    • git push heroku master

Finalement ca marche

Nous y sommes! Ruby et tous ses amis se sont invités sur notre Windows sans trop de soucis. Git ne semble pas récalcitrant et Aptana s’est montré docile, que demander de plus ?
Nous allons pouvoir reprendre le développement de Pibou sous Windows et découvrir Aptana

@bientôt

Pibou – Partage ton code

Dans l’article précédent, Pibou – scaffolding & structure, nous avons ajouté la notion de film et nous avons utilisé la génération de code. Il est grand temps de mettre en place un gestionnaire de versions.

Gestion des sources

Lors de la vie d’un projet, les sources évoluent sans cesse. Il est donc très important de pouvoir stocker les changements et rendre les sources accessibles à tous les acteurs du projet. Dans cette optique, nous allons utiliser GIT.

Utilisation de GitHub

Afin d’éviter les contraintes de l’installation de la partie serveur, nous allons utiliser un service en ligne : GitHub. C’est un outil bien pratique qui fourni entre autres :

  • Un dépôt de source en ligne
  • Un suivi des sources
  • Un wiki
  • Des statistiques
  • Suivi de bugs
  • Un outil de partage de code indépendant (gist)

Il existe plusieurs formules d’abonnements, celle de base est gratuite et vous permet 300Mo de stockage publique. Si vous voulez héberger des projets privé, il vous faudra dépenser au moins 7$/mois. Pour plus d’informations tarifaires : https://github.com/settings/billing.

Créer un projet GitHub

La documentation sur GitHub étant très complète, je vous laisse découvrir la création du projet et l’installation de Git (attendez un peu avant d’envoyer le code) :

Définir des règles d’exclusion de fichiers pour git

Nous allons rajouter un fichier pibou/.gitignore afin de définir les fichiers et/ou dossier qui n’ont rien à faire sur le dépôt. Vous pouvez trouver des exemples ici : https://github.com/github/gitignore. Nous allons compléter le fichier existant avec : https://github.com/github/gitignore/blob/master/Rails.gitignore.

Le premier push

  • Tout d’abord, nous nous plaçons à la racine « /pibou »
  • Ajout des sources $git add -A (le -A permet un ajout de toutes les sources. On l’utilise pour cette fois, mais nous ciblerons dorénavant les fichiers à ajouter)
  • Si vous n’avez pas encore désigné votre dépôt distant : $git remote add origin git@github.com:<username>/pibou.git
  • Le code est seulement enregistré en local, pour l’envoyer sur le serveur : $git push -u origin master

Pour plus de détails sur le partage d’un projet : http://help.github.com/create-a-repo/

Le petit plus de RVM

N’oublions pas notre configuration ruby! RVM permet de créer un fichier .rvmrc qui fourni une configuration par projet. Pour cela, une petite commande à la racine du projet : $rvm ruby-1.9.3-p125@pibou –create –rvmrc (lire : interpréteur ruby-version@gemset)

Maintenant que nous avons une configuration de l’environnement ruby pour le projet, il suffit de le partager :

git add .rvmrc
git commit -m "Added ruby environment configuration"
git push origin master

Et voilà, votre code est sur le dépôt et vous avez partagé votre configuration rvm via votre .rvmrc. Pour plus de détails : http://beginrescueend.com/workflow/rvmrc/

Et après?

Je vous laisse digérer tout çà. La prochaine fois, nous allons déployer notre application en ligne grâce à heroku. En attendant, vous pouvez accéder aux sources du projet sur https://github.com/jbdoumenjou/pibou

@bientôt