Installation de GitLab sur Debian

Le partage, un des maitres-mots du mouvement DevOps, commence par l’usage d’un référentiel (Repository pour les anglophones) communautaire. Il sert bien sûr pour partager des sources de codes que chacun pourra corriger et améliorer, mais il sert aussi au perfectionnement des configurations. La mise en commun des configurations, ce grand travail collectif précédemment abordé, permet une mise en lumière sur des besoins spécifiques, les dépendances de certains packages ou certaines versions de logiciels, ou encore certains paramétrages d’intergiciel (middleware pour les anglophones), ou les paramétrages des équipements réseaux. Quant une équipe mets en place un logiciel utilisant un port particulier autant qu’elle l’insère elle-même directement dans le fichier de configuration des plages de ports à ouvrir. A contrario de l’usage propriétaire où il faut opérer à une demande auprès de l’équipe réseau pour reprendre l’exemple, cette démarche de modification par tous -et pour tous- n’est possible que dans une dynamique communautaire.

Un des plus célèbres référentiels communautaires est GitHub.com, or pour différentes raisons, entre autre de confidentialité, il peut être interdit d’usage dans certaines sociétés (OVH : Pourquoi j’ai interdit GitHub ?). Il est donc intéressant de trouver une solution interne. Un de ces gestionnaires de référentiel Git est GitLab qui propose une Community Edition (CE) et une Enterprise Edition (EE), ainsi qu’une Continuous Integration qui sort de notre actuel sujet. Voyons dans cet article comment installer GitLab CE.

Continuer la lecture

L’apprenti sorcier

Ne maitrisant plus la situation, l’apprenti est dépassé par les événements. Le poème symphonique de Paul Dukas dont la création (première représentation) eu lieu le 18 mai 1897 à Paris, est bien connu. Sans doute plus grâce à une souris à 8 digits doigts, que par Der Zauberlehrling de Goethe.
Expérimentant l’automatisation d’installations, j’ai eu un geste malheureux. Sortez les violons… Mon disque est totalement nettoyé. Je dois tout réinstaller. Rien de bien sorcier.

Quand on bricole ses configurations, il est toujours important de sauvegarder ses données, vous le savez déjà vu le nombre de fois où vous l’avez lu, mais il est tout autant important de se préparer une petite clef USB de réinstallation sans les mains. Tout simplement parce que c’est si facile quand on a tout à disposition et si compliqué avec un disque vierge…
Afin d’éviter l’immobilisation perpétuelle d’une clef, je ne vais lui implanter l’installeur qu’à la demande. Et en démarche devops, j’ai créé un script qui fait le café, et cet article présente les grandes lignes d’une installation ex-nihilo à l’aide d’une simple clef USB, choix effectué en constatant que les lecteurs CD/DVD disparaissent des configurations matériel (qui a dit Raspberry ?). Ce simple passage en revue peut donner des idées ou des indications à tout un chacun.
Continuer la lecture

La petite graine – 2

Pour automatiser ses installations Debian, il faut savoir concevoir sa petite graine, preseed pour les anglophones. C’est ainsi que je commençais mon premier volet décortiquant partiellement la fameuse petite graine.
Depuis 2 mois, je vous laisse sur votre faim et pour cause ! Force est de constater que je ne sais pas encore comment parfaire ma pré-configuration. Le point d’achoppement est le partitionnement automatique, tout ce qui est partman…

A l’heure actuelle, même si j’ai encore des pistes de recherches et des tests à effectuer, je n’ai toujours pas de réponses satisfaisantes.
Voyons donc dans ce second volet, l’ensemble des recherches effectuées. Parce que savoir s’informer et chercher fait partie intégrante de la culture DevOps.

Continuer la lecture

Vers le Continuous Delivery

DevOps et Continuous Delivery sont les actuels mots à la mode (buzzword pour les anglophones). Après quelques lectures et présentations, certains décideurs se posent la question de l’inflexion vers de telles méthodes. Il faut bien comprendre que derrière ces mots se cache une révision complète des DSI. C’est la fin des fameux silos enfermant chacun dans une mono-tâche technicienne au profit d’un flux automatique organisé par des experts. D’aucuns disent que ce bouleversement est un tsunami, voire un big bang. Il est donc naturel que certains responsables se demandent : Comment opérer à un tel virage vers le Continuous Delivery ?

Cet article orientera vers des perspectives de réponses. Et pour cela, citons d’abord Martin Fowler, un ponte du Continuous Delivery :

You’re doing continuous delivery when:

  • Your software is deployable throughout its lifecycle

  • Your team prioritizes keeping the software deployable over working on new features

  • Anybody can get fast, automated feedback on the production readiness of their systems any time somebody makes a change to them

  • You can perform push-button deployments of any version of the software to any environment on demand

Continuer la lecture

grub rescue>

Fichtre ! Ce n’est pas le résultat escompté. On procède parfois à tâtons, avec trop d’assurance ou à brûle-pourpoint à des aménagements ou des installations. On reboot, et là paf ! On se retrouve face à un grub rescue> qui nous regarde droit dans les yeux. Et un frisson de nous parcourir l’échine.

Il ne faut pas se leurrer, quand on se retrouve dans cette situation c’est qu’on l’a provoquée. Ce sont nos dernières actions d’administrateur système plus ou moins averti qui portent leur fruit pourri. Cet article présente quelques grandes lignes pour se sortir de ce mauvais pas, avec des vrais morceaux de pédagogie dedans.

Continuer la lecture

De l’intérêt du Continuous Delivery pour le business

Le déploiement de tout logiciel, installation ou amélioration, est motivé par un besoin business. Et plus l’IT répond promptement à ce besoin, plus rapidement le client ou l’utilisateur interne pourra tirer rapidement profit de ce déploiement.
Cette accroche est le point de départ du concept de Continuous delivery, traduit par Livraison en continu. Cet article est une présentation conceptuelle et non technique à l’attention des décideurs et des techniciens cherchant des arguments pour inciter leurs décideurs à entrer dans le XXIème siècle.

Depuis trop longtemps, un déploiement est le bout d’une chaine bien longue d’un projet, en cascades (le fameux waterfalls). Phase après phase, un tel projet s’étale sur plus d’un trimestre. Certaines sociétés sont rythmées sur des livraisons semestrielles voire annuelles.
Aucun besoin d’études de management pour comprendre que quatre mois après le développement, il peut arriver que le codeur ne se souvienne plus de ses intentions, voire qu’il ne soit plus présent. Si un besoin de remettre l’ouvrage sur le métier se fait sentir, il est à prévoir une latence dans l’aménagement.
Nous sentons bien que nous sommes aux antipodes du concept de Continuous delivery dont le paradigme est le prompt profit.

« Until your code is in production making money or doing what it is meant to do, you have simply wasted your time. » – Chris Read

Continuer la lecture

La petite graine

Pour automatiser ses installations Debian, il faut savoir concevoir sa petite graine, preseed pour les anglophones. Cet article est le premier volet d’une série où je vais décortiquer celle que j’utilise afin d’aider par l’exemple celles et ceux qui voudrait se lancer dans le planter de petite graine.
Comme je l’ai déjà abordé dans mon précédent article De l’automatisation de l’installation et de la pré-configuration, cette petite graine sera stockée sur un serveur web quelconque. Et donc ce site convient très bien, vous la trouverez ici.

Comme vous pouvez le constater, pour ce genre de sujet que l’on étudie que ponctuellement, j’ai pour habitude de placer dans le cartouche les liens vers la documentation (un pour navigateur et l’autre pour wget). Ensuite les chapitres sont rappelés en remarque pour chaque section, pour être plus efficace dans ma maintenance. Enfin, tant que c’est chaud, je préfère placer des options désactivées, quitte à les activer ultérieurement. Il sera toujours plus aisé à transformer un false en true que d’avoir à retrouver l’option.

Découvrons la plus en détails…

Lire la suite…

La nature en ville

Continuer la lecture

De l’automatisation de l’installation et de la pré-configuration

Après la mise en bouche Lancer une installation via Grub, on reste sur sa faim. Pouvoir déclencher l’installateur à l’envi c’est bien, mais que l’installation se poursuivre automatiquement c’est mieux !
Sans entrer dans les détails techniques, j’étudie dans cet article les intérêts de l’automatisation de l’installation et de la pré-configuration. Même si j’effectuerai la mise en œuvre avec la preseed de Debian, j’essaierai d’être le plus général possible.

La pré-configuration permet de répondre aux questions posées lors de l’installation du système d’exploitation, et souvent d’y ajouter d’autres installations comme des logiciels. Le principe est simple : l’installateur lors de son processus va chercher un fichier de pré-configuration déposé dans une zone de stockage, et s’y réfère pour l’installation du système, des préférences et des logiciels.
Petit tour d’horizon des avantages et inconvénients de cette solution automatique qui répond à un besoin familial, de TPE, voire de PME.

Lire la suite …

Preseed

Continuer la lecture

Gangue de WiFi

Le grain de sable du micrologiciel de la carte WiFi ! Durant mon installation de Debian sur mon portable, j’ai rencontré le grain de sable du micrologiciel (firmware pour les anglophones). Le constat est simple ma carte wifi n’est pas pleinement prise en charge par Debian, mais nécessite une installation manuelle d’un module paliant le pilote propriétaire. Et de me dire que ça peut faire l’objet d’un petit article.

Lors de l’installation, un écran m’a demandé si je voulais installer le micrologiciel disponible sur un quelconque support CD-rom, clef USB ou sur disque dur. J’ai décliné cette proposition en vue de l’installer par Ethernet. La stratégie est simple : modifier sa liste de sources pour prendre en compte les contrib non-free, installer le package contenant le firmware palliatif, et recharger le module.

Continuer la lecture

Lancer une installation via Grub

Installation d’une Debian en posant un noyau et l’image de l’installeur puis redémarrer son ordinateur. Simple comme apt-get. Revoyons la scène au ralenti. La méthode exposée ici est de vouloir lancer l’installation d’une nouvelle Debian au démarrage, et donc pour cela il faut mettre en place un noyau avec l’image de l’installeur, et bien entendu modifier le Grub comme il se doit.

L’intérêt d’une telle mise en place de l’installeur est de pouvoir installer ou réinstaller aussi souvent et aussi simplement que voulu des Debians. Après avoir installés et testés des packages dans tous les sens, besoin d’un tabula rasa ? d’une nouvelle Debian toute propre ? Pas de problème ! Avec cette mise en place et un peu de maitrise de ses volumes logiques, c’est tout simple.

La petite installation qui réveille le devops qui est en vous !

Continuer la lecture