PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Marthym : Maven Release Plugin

vendredi 6 avril 2018 à 02:00

Carrément, deux billets dans la même semaine, c’est rare. Bon rien de foufou, j’ai passé un peu de temps la semaine passé à automatiser le processus de release dans ma boite. J’avais déjà essayé d’utiliser le Maven Release Plugin mais j’ai jamais eu de succés.

Cette fois j’ai quand même été un peu plus loin alors j’écris trois mots sur le sujet, en français, si ça intéresse des gens.

Introduction

L’idée est de pouvoir versionner un composant sans autre intervention humaine que le choix des numéros de version (release et next snapshot).

Le POM.xml

Configuration des plugin

Déjà la première chose est de configurer les différents plugins de release.


  org.apache.maven.plugins
  maven-release-plugin
  2.5.3


  org.codehaus.mojo
  versions-maven-plugin
  2.5


  org.apache.maven.plugins
  maven-javadoc-plugin
  3.0.0
  
    true
  
 

Maven Release Plugin

Le Maven Release Plugin est le plugin qui va faire le gros du travail, Mettre à jour le pom avec les bons numéros de version, faire les commit et poser les tags.

Versions Maven Plugin

Le Versions Maven Plugin va permettre de mettre à jour les dépendances SNAPSHOT avant la release.

Maven Javadoc Plugin

Le Maven Javadoc Plugin C’est le plugin chargé de générer la JavaDoc, il est utilisé par le Maven Release Plugin. Dans mon cas, la Javadoc est pas super valide. Pour éviter de faire planter la release, on désactive la JavaDoc.

Source Code Management

J’ai mis un peu de temps à trouver la configuration qui va bien pour que ça fonctionne.


    scm:git:git://github.com/Marthym/hello-osgi-world.git
    scm:git:git@github.com:Marthym/hello-osgi-world.git
    https://github.com/Marthym/hello-osgi-world

Fichier properties & choix des versions

Pour pouvoir fonctionner en mode silencieux, l’étape de préparation de la release a besoin d’un fichier de configuration, à placer à la racine du projet, contenant les numéros de versions des artefacts du projet, pour la release et pour la prochaine SNAPSHOT.

Le fichier a cette forme :

scm.tag=1.5.0
project.rel.fr.ght1pc9kc\\:hello-osgi-world=1.5.0
project.dev.fr.ght1pc9kc\\:hello-osgi-world=1.6.0-SNAPSHOT
scm.commentPrefix=rel(main):

On peut aussi lui préciser le préfixe de commit, par défaut [maven-release-plugin], perso, j’aime bien l’AngularJS Commit Convention, rel(main):.

Les commandes

Résolutions de dépendences SNAPSHOT

mvn versions:use-releases -DprocessParent=true -DfailIfNotReplaced=true

Le principe du plugin consiste en la suppression des chaînes -SNAPSHOT dans le fichier mais le plugin vérifie quand même que la version existe bien et ait bien été releasé. Si ce n’est pas le cas, il plante.

Deux paramètres :

Release

mvn release:prepare -DtagNameFormat="@{version}" release:perform

En fait le plugin agit en deux étapes qui peuvent être exécuté en une ligne.

Attention, il est nécessaire de push les modifs

git push && git push --tags

Maven Release Plugin écrit à l'origine par Marthym pour J’ai acheté un PC neuf cassé ... le April 06, 2018.

Gravatar de Marthym
Original post of Marthym.Votez pour ce billet sur Planet Libre.

genma : Chatonkademy - Billet N°0 - Présentation du projet

jeudi 5 avril 2018 à 09:00

Dans le cadre du projet d'une école du numérique auquel je participe, l'OpenHackademy, nous (des membres d'une de mes équipes et moi-même) avons été amené à mettre en place l'infrastructure informatique qui sert aux apprenants dans le cadre de leur formation.

Au fur et à mesure, nous documentons tout ça en interne. Comme je me dis que l'expérience peut être utile à d'autres, je débute par le présent billet une une série de billets techniques relatant tout ce que nous avons pu apprendre dans la mise en place de cette infrastructure et son maintien au quotidien, son évolution...

Ce retour d'expérience se basera également sur l'expérience d'autres CHATONS avec lesquels j'ai pu échangé et discuté, venant ainsi compléter si besoin mes propos, proposer d'autres solutions logicielles que celle que j'ai pu mettre en place si il y a lieu, justifiant ainsi les choix techniques réalisés.

Présentation du projet

Pourquoi Chatonkademy ? Ce petit nom n'est autre que la contraction de CHATON et OpenHackademy. Pour l'OpenHackademy je vous renvoie vers >mon billet de blog dédié sur le sujet. Pour les CHATONS, le Collectif des Hébergeurs Alternatifs,Transparents, Ouverts, Neutres et Solidaires, vers le site du projet : https://chatons.org

En quelques mots, CHATONS ce sont les AMAP de l'informatique libre. Promouvant le projet au travers mon implication au sein de l'association Framasoft.

L'infrastructure

L'infrastructure repose sur un hyperviseur tournant sous Proxmox avec une IP fixe (en IPv4) et une IPv6, les différentes problématiques liées à l'usage d'une seule IP publique avec des ports particuliers (web, ssh etc.) seront abordés dans des billets dédiés.

Les machines virtuelles

Chaque étudiant a sa propre machine virtuelle pour son apprentissage. Les machines virtuelles sont gérées par les étudiants qui ont les droits administrateurs sur les machines (via un compte sudoers). Nous avons déployés ces machines sous Debian 9 et nous les avons "ansibelisées" : les playbooks etc. seront mis à disposition dans des billets dédiés. L'intervention sur plusieurs machines à distance en même temps (pour saisir la même commande), la gestion des logs centralisés pour ces différentes machines, leurs sauvegardes etc. Toutes ces problématiques donneront lieu, là encore, droit à des billets dédiés.

Yunohost

Ayant sensibilisé les apprenants au projets aux problématiques tel Le cloud, c'est l'ordinateur d'un autre et à celui de faire de la veille, (voir à ce sujet mon billet Le combo gagnant pour optimiser sa veille), j'ai mis en place une instance Yunohost multi-utilisateurs. Je suis administrateur de l'instance, chaque étudiant a son compte sur Yunohost et les applications que je lui mets à disposition.

Je ferai un ou plusieurs billets dédiés sur la gestion de Yunohost dans le cadre d'un certain nombre d'utilisateurs (40), le côté mono ou multi-utilisateur des applications (partagée publiquement ou non, cloisonnée pour chaque utilisateur ou non). Cette expérience sera également l'occasion de passer d'une instance Yunohost personnelle à une instance de plus grand niveau. Selon la sollicitation de l'instance, je serai amené à augmenter ou réduire sa capacité matérielle (ce qui se fait aisément vu qu'il s'agit d'une machine virtuelle), je ferai des retours d'expériences sur quelle type de machine pour combien d'utilisateur en même temps.

Conclusion

Pour conclure ce premier billet numéroté 0, il y a déjà pas mal de choses à rédiger et mettre en forme, à anonymisée avant de mettre à disposition sous la forme de tutoriels et billets de blogs. Ce premier billet donne, je pense, une bonne idée des billets et projets à venir (tous les chantiers ne sont pas finis et pour beaucoup la peinture n'est pas encore sèche). A suivre donc :)

Gravatar de genma
Original post of genma.Votez pour ce billet sur Planet Libre.

Marty : KooZic : script d'installation automatique

jeudi 5 avril 2018 à 03:00

DEB, RPM, PKG, Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Archlinux, Gentoo... Autant de systèmes de paquets et de distributions qui font de GNU/Linux un écosystème riche et varié. Mais aussi un enfer à supporter. Le système de packaging change d'un système à l'autre, et les dépendances varient d'une version à l'autre. Essayez de générer un DEB d'une application un peu complexe compatible pour Ubuntu 14.04, 16.04 (bientôt 18.04), Debian 8 et 9, et vous allez vite comprendre la galère. J'ai essayé, j'en ai eu marre et j'ai laissé tombé. Mais je n'ai pas pour autant baissé les bras...

Un beau package bien emballé est la voie royale pour s'immiscer dans la logithèque de l'utilisateur moyen. Mais pour un projet mené avec une équipe limitée (moi), c'est beaucoup trop chronophage. Ayant définitivement abandonné l'idée de me lancer dans le packaging multi-plateforme du logiciel de streaming musical KooZic, j'ai opté pour quelque chose de plus simple : un script d'installation.

Utilisation

Les systèmes suivant sont supportés :

Si votre système est différent, tant pis, ça sert à rien de continuer à lire. Si il est dans la liste, l'installation tient en 3 commandes :

curl https://raw.githubusercontent.com/DocMarty84/koozic/10.0/extra/installer/koozic_install.py > k_install.py
chmod +x k_install.py
sudo ./k_install.py install

Y'a plus qu'à aller sur http://localhost:8069...

Au niveau des options, on a la possibilité de spécifier :

Supprimer KooZic ?

sudo ./k_install.py uninstall

Voilà.

Mais ça fait quoi exactement ?

Lancer un script quelconque en root n'est franchement pas ce qu'il y a de plus sûr. Qui sait ce qui peut se cacher derrière ce qui est exécuté ? Celui qui prend la peine de lire le script, bien sûr. Pour ceux que ça ne motive pas plus que ça, il reste à me faire confiance.

Juré craché, le script va :

  1. installer les dépendances via le système de paquets
  2. installer les dépendances Python manquantes avec pip
  3. mettre en place un serveur PostgreSQL
  4. télécharger la dernière version
  5. installer FFMpeg dans /usr/local/bin
  6. initialiser KooZic
  7. installer et démarrer un script systemd qui permettra de lancer KooZic au démarrage du système

En cas de désinstallation, les étapes 1 à 3 ne seront pas annulées, pour éviter de casser quoi que ce soit. Le reste disparaîtra à tout jamais. Ou jusqu'à la prochaine installation.

Migration d'une installation existante

Si vous êtes de ceux qui utilisent KooZic, merci d'avoir passé le cap de l'installation manuelle ;-) Pour rendre votre installation compatible avec l'installation automatique, il faut stopper KooZic et désactiver le démon systemd si vous en avez créé un. Ensuite, rien de bien exceptionnel :

sudo ./k_install.py install -u USER

Remplacez USER par l'utilisateur qui était utilisé précédemment. Normalement, ça devrait fonctionner. Si pas... ben... Criez à l'aide.

Gravatar de Marty
Original post of Marty.Votez pour ce billet sur Planet Libre.

Articles similaires

Carl Chenet : De 0 à 860 abonnées en 30 numéros : la newsletter du Courrier du hacker

jeudi 5 avril 2018 à 00:00

Ce vendredi sera publié le 30ème numéro du Courrier du hacker, la newsletter hebdomadaire résumant l’actualité francophone du Logiciel Libre et Open Source. Résumé d’une aventure commencée il y a 30 semaines 🙂

Pour rappel, le Courrier du hacker propose une sélection des meilleurs articles relayés dans la semaine par le Journal du hacker. Les meilleurs articles ont déjà été sélectionnés par la communauté du Journal du hacker et j’effectue également une sélection.



Origine du projet

J’ai été très influencé par l’excellent Hacker Newsletter, une newsletter très connue qui fait un résumé des meilleurs articles publiés sur Hacker News, l’agrégateur de liens communautaire. Le fait que ce type de newsletter n’existe pas en France m’a étonné. Et en tant que fondateur du Journal du hacker, le principal agrégateur communautaire de liens de la communauté du Logiciel Libre et Open Source francophone, il m’est rapidement apparu comme évident qu’il fallait que je le fasse moi-même.

Progression des abonnés

J’en ai déjà parlé dans un précédent article, le nombre d’abonnés a grimpé très rapidement les premières semaines. Après avoir atteint un plateau autour des 700 abonnés, la progression a fortement ralenti et a été plus erratique, dépendant principalement des communications publiques faites autour du projet.

À retenir : la communication autour de son projet reste indispensable. C’est un travail de fond en parallèle qui se fait dans la durée.

Travail constant

Il est difficile d’imaginer la régularité nécessaire à la publication d’une newsletter à date fixe, si vous etes comme moi tout le temps sur une dizaine de projets différents à la fois. Je n’ai publié la newsletter en retard que deux fois en 30 semaines, ce qui m’apparait comme un exploit personnel.

À retenir : les débuts sont faciles, le vrai challenge est de s’inscrire dans le temps et de durer. C’est à bien avoir à l’esprit quand on lance une newsletter.

Baisse du taux d’ouverture

Ayant un peu lu la documentation et les retours d’expérience des créateurs de newsletters, je savais que le taux d’ouverture de la newsletter décroissait de manière régulière avec l’augmentation du nombre d’abonnés. C’est bien sur une contrariété importante quand vous produisez du contenu de le voir ignoré par les abonnés. Mais il s’agit d’un processus normal reporté par tous les éditeurs de newsletters. Reste à voir jusqu’à combien cela descendra.

À retenir : j’étais prevenu et je pensais être au-dessus du lot. Raté. C’est une donnée à surveiller et à investiguer.

Interactions avec les abonnés et autour

Je publie régulièrement via les réseaux sociaux à propos des petites nouvelles autour du Courrier du hacker. Et c’est sympa d’apprendre que le Courrier du hacker génère du trafic pour les auteurs des articles 🙂

L’initiative que j’avais prises pour les 500 abonnés a également été apprécié. Et les remerciements font chaud au coeur !

À retenir : les créateurs de contenu apprécient (en général) être relayés et qu’on parle de leur travail (moi inclus). Donc un bon moyen de génerer de la visibilité, même si ça doit rester franc et sincère pour ne pas devenir lourd.

Le projet motive d’autres initiatives

Comme je l’avais déjà évoqué dans un précédent article, les newsletters n’ont pas un succès extraordinaire en France. Pourtant le Courrier du hacker semble motiver d’autres Libristes à s’intéresser aux newsletters, comme la Gazette de MicroLinux. Plus on est de fous et plus on rit !

Si vous connaissez d’autres newsletters francophones autour du Logiciel Libre, n’hésitez pas à laisser un commentaire.

Me suivre sur les réseaux sociaux

N’hésitez pas à me suivre directement sur les différents sociaux pour suivre au jour le jour mes différentes projets dans le Logiciel Libre :

Gravatar de Carl Chenet
Original post of Carl Chenet.Votez pour ce billet sur Planet Libre.

Renault : Sortie de Fedora 28 beta

mardi 3 avril 2018 à 16:20

En ce mardi 3 avril, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Beta Fedora 28.

Malgré les risques concernant la stabilité d’une version Beta, il est important de la tester ! En rapportant les bogues maintenant, vous découvrirez les nouveautés avant tout le monde, tout en améliorant la qualité de Fedora 28 et réduisez du même coup le risque de retard. Les versions en développement manquent de testeurs et de retours pour mener à bien leurs buts.

Notons que Fedora 28, avec ses quelques 51 changements officiels validés, est sans conteste la version comportant le plus de changements de son histoire. La version finale est pour le moment fixée pour la première semaine de mai (sortie le 1er ou le 8 mai).

Voici les nouveautés annoncées pour cette version :

Bureautique

Gestion du matériel

Internationalisation

Administration système

Développement

Modularité

Projet Fedora

Si l'aventure vous intéresse, les images sont disponibles par Torrent ou via le site officiel. En cas de bogue, n'oubliez pas de relire la documentation pour signaler les anomalies sur le BugZilla ou de contribuer à la traduction sur Zanata.

Bons tests à tous !

Gravatar de Renault
Original post of Renault.Votez pour ce billet sur Planet Libre.

Articles similaires