Introduction

Le monde du développement pour la majorité des développeurs est un enfer dont les moments de joies se comptent sur le bout des doigts tandis que les erreurs, le stress constant et les objectifs presque irréalisables que nous développeurs passons le temps a donner a nos chefs projets en sont le socle (J’espère que mon patron ne lira pas cela). Il est donc question pour nous d’œuvrer pour augmenter les moments de joies et pour cela quoi de mieux qu’automatiser des tâches répétitives.

II.  Quelques bonnes pratiques de mises en place du projet:

Sans oublier les tâches nécessaires au lancement d’un projet à savoir:

  • Définir les objectifs du projet;
  • Découper le projet et définir la liste des tâches;
  • Définir l’enchaînement logique des tâches;
  • Ajouter les durées et des contraintes sur certaines tâches et intégrer des tâches externe;
  • Définir et attribuer les ressources;
  • Planifier et assurer le suivi du projet.

Il est nécessaire de préparer le système de versionning ou VCS (Version Control System). Si vous ne savez pas ce que c’est; « GOOGLE IT« . Il y’en a plusieurs mais dans ce cas précis nous utiliserons BITBUCKET.

L’objectif dans cette manœuvre est de lier le dépôt ou nous stockons notre projet au serveur du client ou il est sensé être déployé par la suite. Pour y arriver nous aurons besoin de:

  • Accès SSH au serveur du client (Si c’est un serveur tout pourri qui a juste des accès FTP… BAH arrêtez vous la vous devrez continuer d’ouvrir Filezilla a chaque fois même lorsque votre boss sera sur votre dos et croyez moi il y sera régulièrement.);
  • Accès au Pipelines sur votre le repos du projet.

II.  LES PIPELINES: QU’EST CE QUE C’EST?

EH ben pour faire simple il s’agit d’un container qui contient un ensemble d’opérations qui s’exécutent en vue de réaliser une tâche (Tester, Générer, Déployer un projet…). Un ensemble de vérifications vous permettront d’avoir des messages d’erreur clairs en cas de bémol. C’est assez pratique pour effectuer les opérations répétitives et vous gagnerez un temps considérable dans votre travail en les maîtrisant. Malheureusement les documentations sur les pipelines sont généralement liés directement aux sociétés mais si vous aimez êtes un passionné faites un tour sur BitBucket ou Gitlab pour en savoir plus et voir les différentes applications. Sans plus tarder prenons le taureau et commençons cette configuration.

  1. Mettre en place Son premier Pipeline:

Ne vous inquiétez pas vous ne partirez pas 0 BitBucket offre des modèles de Pipelines prêts à l’emploie suivant la technologie que vous utilisez, tout ce que vous avez à faire c’est lire un peu et adapter ces modèles. 

Notre exemple portera sur un projet Php hébergé sur un server Apache. La configuration de base du premier pipeline est:

image: samueldebruyn/debian-git

 

pipelines:

  default:

    – step:

        caches:

          – composer 

        script:

          – apt-get update

          – apt-get -qq install git-ftp

          – apt-get –yes –force-yes install composer

          – git ftp init –user $FTP_USERNAME –passwd $FTP_PASSWORD $FTP_URL 

 

          

 

Les éléments importants de ce script sont:

  • Image: Une image ici est un fichier qui contient tout ce dont un serveur a besoin pour faire tourner notre application. Nous avons utilise une image disponible sur GitHub, vous pouvez construire votre environnement a partir d’un de vos fichiers images personnalises (Docker ou autres) .
  • Scripts: En respectant la structure, ici vous mettrez les commandes permettant de préparer votre environnement(Les choix de l’image et des commandes utilises vous informe probablement que le serveur tourne sous la distribution linux Debian). Ici nous avons:

– Fait une mise a jour, installer git-ftp pour le transfert de fichiers via le protocole Ftp en utilisant GIT (Je me répètes un peu);

–  Installer composer qui est indispensable pour la gestion de dépendances dans notre projet;

–  Initialise Git Ftp sur le serveur distant et transféré les fichiers.

  1. Les Variables:

Dans cette série de commandes vous avez pu voir des textes précédés par le « $ », il s’agit de variables.Ce serait dangereux de laisser les données telles que le nom d’utilisateur et le mot de passe en clair dans vos configurations car Bitbucket générera un fichier (Yml) avec le contenu écrit plus haut. Pour éviter les failles de sécurité, utilisez des variables. Rendez vous sur le sous menu Setting->[Onglet Repository]->[Repository Variable].

Comme vous pouvez le remarquer il est possible de sécuriser ses données.

NB: Après l’initialisation de votre dépôt distant, veillez a remplacer le git ftp init par un git ftp push.

  1. Les Tâches programmes (Scheduled Tasks):

L’objectif principal est de gagner du temps ou d’optimiser son travail. Laissez votre serveur faire le travail pour vous et créez des Cron Job (@Boris n’aie pas peur ce ne sera pas comme la dernière fois).

Tout ce qu’il y’a a faire c’est se rendre sur la page Pipeline->[lien Scheduled Task]. Ensuite vous n’aurez qu’à sélectionner le commit (Config du pipeline a utiliser), la période d’exécution du processus et le tour est joué.

  1. Le .git-gnore:

Vous le savez tous c’est un fichier qui contient la liste des éléments que git ne devra pas indexer dans son arbre. Dans le cas des transferts FTP vous n’avez qu’a créer un fichier .git-ftp-ignore et y lister les éléments à « ignorer ».

Laisser un commentaire