Forum Linux.debian/ubuntu cherche build from source facile

Posté par  . Licence CC By‑SA.
Étiquettes :
1
28
juil.
2022

Bonjour,
Dans le cadre d'un enseignement d'informatique, je souhaite montrer les multi stage builds à mes etudiants avec docker.

Pour ce faire je cherche un truc qui build quelque chose que je pourrais réutiliser dans la deuxieme image du multistage build.

Jai pensé à node mais ils ne connaissent pas forcément et cest un peu complexe de builder quelque chose avec node. Du coup je cherche un utilitaire linux qui genererait un binaire qui serait utilisable tel quel à partir d'un build (make etc.). Jai vu des builds from source mais qui souvent génerent des fichiers un peu partout sur le systeme…je cherche quelque chose qui genererait un binaire facilement reutilisable sans trop de fichiers annexes…

Est ce que vous auriez des idées pour ça?

Merci

  • # golang

    Posté par  . Évalué à 4.

    avec la langue GO (Golang), tu passes assez simplement du code source au code executable qui est facilement transportable, en particulier dans le cas des builds multistage Docker.

    liens:
    - https://www.it-wars.com/posts/virtualisation/docker-multi-stage-builds/
    - https://docs.docker.com/develop/develop-images/multistage-build/

  • # docker de base

    Posté par  . Évalué à 5.

    step 1) ton systeme de base avec un docker …
    step 2) prendre l'image du system ajouter un service (web par exemple)
    step 3) prendre l'image OS + WEB et ajouter un site dedans

    tu obtiens alors un multi-stage build

    ou alors j'ai pas compris la question ?

    • [^] # Re: docker de base

      Posté par  . Évalué à 2.

      Non je cherche à generer un binaire que je peux réutiliser ensuite

      • [^] # Re: docker de base

        Posté par  . Évalué à 4.

        je souhaite montrer les multi stage builds à mes etudiants avec docker

        donc ta question est mal formulée ou je l'ai mal comprise

        le fait d'utiliser docker n'aurait rien à voir avec le multistage build qui doit sortir un binaire

  • # busybox

    Posté par  . Évalué à 5.

    Busybox me semble être un bon candidat.

    En première étape tu aurais une phase de build, et en second une phase d'install qui crée (éventuellement) les liens symboliques vers le binaire (par exemple grep -> /usr/bin/busybox).

  • # C sinon

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    Tu prends une image, tu ajoutes tout ce qu’il faut pour compiler du C, les entêtes et autres bibli. Tu compiles ton programme en C (un hello world peut suffire)

    Tu prends une image plus simple, compatible avec la libc de l’image de base (donc pas de mix entre la gnu libc et μlibc par exemple). Genre debian pour la première image et busybox pour la deuxième fonctionne.

    Tu copie ton binaire de la base dans la finale, tu le définis en tant que entrypoint et tu fais constater à tes étudiants qu’ils ne peuvent rien compiler dans l’image finale même si t’as installé tous les outils dans l’image de base.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.