Après quelques efforts d'intégration (les scripts d'autoinstall ont été adaptés/modifiés), il est à présent possible de construire une image docker FusionForge. La communauté a publié les éléments nécessaires pour builder sa propre image. Il n'existe pas encore d'images "officielles" docker, c'est-à-dire publié sur un repository public.
Pour l'instant, l'image docker n'a pas pour vocation d'être utilisée en production. Certaines fonctionnalités nécessitent un intégration forte avec le système d'informations (mailing-lists par exemple) et l'approche utilisée est : "all-in-one" ce qui est un peu contraire à l'idée de docker : "1 service per container". Mais cela permet de faire des tests de validation des fonctionnalités et plugins.
Il est prévu d'activer le plus de fonctionnalités possibles pour donner une meilleure vue sur les capacités de Fusionforge.
La communauté a publié la documentation dans le wiki sur le comment construire son image et l'exécuter.
Bon test! Merci pour vos retours.
Docker Wiki page
Docker Files
# Dockerfile
Posté par Jarvis . Évalué à 6.
Deprecated.
https://docs.docker.com/engine/reference/builder/#maintainer-deprecated
Il ne faut mettre qu'un RUN pour 'yum update && yum install' et qu'un seul yum install
Il faut créer un utilisateur non Root pour lancer le programme.
[^] # Re: Dockerfile
Posté par CrEv (site web personnel) . Évalué à 7.
Histoire d'aller un peu plus loin, il existe des linter pour Dockerfile.
Il y a hadolint par exemple.
Voici ce qu'il donne sur le Dockerfile:
Evidemment chaque item a de la doc correspondante avec des liens vers les documentation docker, par exemple le
DL3020
.Il y a aussi un linter dans le projet Atomic qui a le mérite d'être assez complet et détaillé:
L'avantage de ces linter et qu'il devient très simple de les ajouter de manière automatique dans des procédures de tests, intégration continue histoire d'avoir toujours un aperçu de l'état des Dockerfile.
[^] # Re: Dockerfile
Posté par CrEv (site web personnel) . Évalué à 7.
Et sinon pour compléter sur l'usage des RUN, chaque RUN crée un nouveau layer. Il peut être intéressant de les limiter, ou d'en avoir plusieurs car on sait que l'un va changer et pas l'autre.
Nénanmoins (et c'est indiqué dans la sortie du linter de projectatomic) il est bienvenue d'avoir un clean dans le RUN. Cela permet d'avoir un layer débarassé de toute trace temporaire qui ne ferait que grossir l'image pour rien.
Cette partie layer, derrière les
RUN
, ne se comporte pas comme juste un enchainement de commandes shell comme on le ferait dans un script d'installation, ça reste un peu plus complexe. Mais comprendre le système de layer peut aider à avoir des images un peu plus propres et plus petites surtout, qui seront plus rapides à exécuter par exemple.[^] # Re: Dockerfile
Posté par CrEv (site web personnel) . Évalué à 6.
Et histoire de continuer, si je devais maintenir ce
Dockerfile
je le changerais dans sa présentation pour le rendre (en tout cas à mon goût) plus lisible, qu'on voit mieux les différentes commandes et leurs arguments.Voici un exemple, c'est pas garanti que ça fonctionne comme souhaité c'est surtout pour la présentation.
[^] # Re: Dockerfile
Posté par franck villaume (site web personnel) . Évalué à 2.
Excellent ! Merci.
[^] # Re: Dockerfile
Posté par CrEv (site web personnel) . Évalué à 5. Dernière modification le 14 juin 2017 à 11:31.
Il y a une erreur dans le (mon) Dockerfile :
La commande
backports_rpm
était passée à la trape.Il reste une question dans ce dockerfile, c'est l'update du début. Logiquement l'image docker de base devrait être à jour, c'est le principe tout de même.
Je l'ai supprimée pour être ok vis à vis du linter, mais ça reste un choix.
Et la sortie des linters:
# hein ?
Posté par pizaninja . Évalué à 2.
1 - qu'est-ce que FusionForge ?
2 - en quoi sa dockerisation est un évènement ?
[^] # Re: hein ?
Posté par CrEv (site web personnel) . Évalué à 4.
1 - qu'est-ce que FusionForge ?
2 - en quoi sa dockerisation est un évènement ?
Étant donné que avant ce n'était pas dockerisé et que maintenant ça l'est, il s'agit bien d'un évènement, non ?
[^] # Re: hein ?
Posté par pizaninja . Évalué à 1.
Merci.
Une comparaison avec gitlab serait intéressante…
[^] # Re: hein ?
Posté par franck villaume (site web personnel) . Évalué à 1.
Bonjour,
c'est toujours un exercice difficile de faire ce type de comparaison.
On va dire que Fusionforge est :
- 100% opensource.
- la continuité de gforge, qui était la continuité de sourceforge.
que intègre les outils type (D)VCS: SVN, Git, Hg, Bzr, CVS
que cela fournit un système très riche de tracker/roadmap et des fonctionnalités initiales Scrum/Kanban
que la gestion documentaire est intégrée avec une GED et des moteurs de wikis (Mediawiki, MoinMoin, phpWiki)
que cela fournit un espace de publication de fichiers organisé en package/release/file
qu'un système de plugins permet de l'enrichir ou de s'intégrer avec des outils complémentaires (jenkins par exemple)
que les API SOAP/Rest existent
et plein d'autres fonctionnalités (forum, news, activity, project management, …)
Des comparaisons fonctionnelles parfois incomplètes existent:
https://forge-allura.apache.org/p/allura/wiki/Feature%20Comparison/
[^] # Re: hein ?
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 5.
De mon point de vue, c'est très intéressant pour pouvoir tester le logiciel sans modifier directement son système.
En effet, FusionForge s'interface avec des outils comme le serveur de mail en modifiant directement la configuration du service.
Du coup, pour tester leur outil sur une machine, on est quasiment obligé de l'installer dans une machine virtuelle afin d'avoir une réelle compréhension de comment ça marche et ce que ça va demander comme changement dans ses services.
Quitte à être dans cette situation, je pense que proposer une image Docker prêt à tester est très intéressant, même si comme dit dans l'annonce tout ne sera pas fonctionnel (comme les mailing lists automatiquement crées pour les projets).
Pour moi c'est un petit événement qui peu apporter beaucoup au projet, puisque les utilisateurs / administrateurs systèmes seront plus en clin à le tester l'outil ☺
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.