Suivi — Administration système Le script de build docker-compose de linuxfr n'est pas à jour

#1980 Posté par  (site Web personnel) . État de l’entrée : ouverte. Assigné à Adrien Dorsaz. Licence CC By‑SA.
Étiquettes : aucune
1
12
avr.
2021

Le script docker-compose.yaml se base sur une Debian stretch.

Ce n'est pas grave en soi, sauf qu'il installe des gems qui ne sont plus disponibles et donc la commande docker-compose up ne marche pas:

Your bundle is locked to mimemagic (0.3.5) from rubygems repository
https://rubygems.org/ or installed locally, but that version can no longer be
found in that source. That means the author of mimemagic (0.3.5) has removed it.
You'll need to update your bundle to a version other than mimemagic (0.3.5) that
hasn't been removed in order to install.

J'ai essayé de rajeunir un peu le deployment/linuxfr.org/Dockerfile pour qu'il prenne au moins Debian Buster, et enlever l'utilisation de backport au passage:

index 75712c2f..71113118 100644
--- a/deployment/linuxfr.org/Dockerfile
+++ b/deployment/linuxfr.org/Dockerfile
@@ -1,4 +1,4 @@
-FROM debian:stretch-slim
+FROM debian:bullseye-slim

 LABEL maintainer="adrien@adorsaz.ch"
 LABEL version="1.0"
@@ -7,15 +7,13 @@ LABEL description="Run LinuxFr.org Ruby on Rails website"
 WORKDIR /linuxfr.org

 # Install system dependencies
-RUN echo 'deb http://deb.debian.org/debian stretch-backports main' >> '/etc/apt/sources.list.d/linuxfr.list' \
-  && apt-get update \
+RUN apt-get update && apt-get upgrade -y \
   && apt-get install -y --no-install-recommends \
-    mysql-client libmysql++-dev git \
+    default-mysql-client libmysql++-dev git \
     build-essential openssl libreadline-dev curl libcurl4-openssl-dev zlib1g \
     zlib1g-dev libssl-dev libxml2-dev libxslt-dev autoconf libgmp-dev libyaml-dev \
     ncurses-dev bison automake libtool imagemagick libc6-dev hunspell \
     hunspell-fr-comprehensive ruby ruby-dev ruby-rack \
-  && apt-get install -t stretch-backports -y --no-install-recommends \
     nodejs npm \
   && gem install bundler \
   && apt-get clean

Mais hélas ca ne builde toujours pas:

Step 12/17 : RUN bundle config set path 'vendor/bundle'   && bundle config set deployment 'true'   && bundle install
 ---> Running in 7b137995c759
/usr/lib/ruby/vendor_ruby/rubygems.rb:281:in `find_spec_for_exe': Could not find 'bundler' (1.17.3) required by your /linuxfr.org/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:1.17.3`
    from /usr/lib/ruby/vendor_ruby/rubygems.rb:300:in `activate_bin_path'
    from /usr/local/bin/bundle:23:in `<main>'
  • # mimemagic 0.3.5 a été retiré de rubygems.org 😯

    Posté par  (site Web personnel) . Évalué à 3 (+1/-0). Dernière modification le 12/04/21 à 21:28.

    Hello,

    Oh, je n'avais pas pensé que l'on pouvait enlever des versions sur rubygems.org…

    D'un côté je comprends, les développeurs ne peuvent pas faire le support de toutes les versions, mais d'un autre côté, ce n'est pas très pratique pour pouvoir construire des environnements stables.

    Même Debian Bullseye (la testing) a la version 0.3.5 de mimemagic 😅

    Heureusement, je vois sur rubygems que l'on pourrait essayer de passer à la version 0.3.10, en croisant les doigts pour que semver soit bien respecté.

    Si jamais, j'ai choisi de faire les images Docker avec Debian Stretch, parce que ça correspond aux serveurs de productions de LinuxFr et parce que je n'avais simplement pas réussi à monter l'environnement avec Buster.

    Je n'ai pas assez d'expérience avec les environnements Ruby et Rails pour m'aventurer avec d'autres versions de Debian, mais c'est volontiers si quelqu'un y arrive :)

Envoyer un commentaire

Suivre le flux des commentaires

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