3.7. Artefacts externes


Il n’est pas recommandé de stocker des fichiers binaires dans un référentiel source. C’est pourquoi vous devez définir une version qui tire des fichiers supplémentaires, tels que les dépendances Java .jar, pendant le processus de construction. La façon dont cela est fait dépend de la stratégie de construction que vous utilisez.

Dans le cas d’une stratégie de création de source, vous devez mettre les commandes shell appropriées dans le script assembler:

fichier .s2i/bin/assembler

#!/bin/sh
APP_VERSION=1.0
wget http://repository.example.com/app/app-$APP_VERSION.jar -O app.jar
Copy to Clipboard Toggle word wrap

fichier .s2i/bin/run

#!/bin/sh
exec java -jar app.jar
Copy to Clipboard Toggle word wrap

Dans le cas d’une stratégie de construction Docker, vous devez modifier le Dockerfile et invoquer les commandes shell avec l’instruction RUN:

Extrait de Dockerfile

FROM jboss/base-jdk:8

ENV APP_VERSION 1.0
RUN wget http://repository.example.com/app/app-$APP_VERSION.jar -O app.jar

EXPOSE 8080
CMD [ "java", "-jar", "app.jar" ]
Copy to Clipboard Toggle word wrap

Dans la pratique, vous voudrez peut-être utiliser une variable d’environnement pour l’emplacement du fichier afin que le fichier spécifique à télécharger puisse être personnalisé à l’aide d’une variable d’environnement définie sur le BuildConfig, plutôt que de mettre à jour le fichier Dockerfile ou assembler le script.

Il est possible de choisir entre différentes méthodes de définition des variables d’environnement:

  • En utilisant le fichier .s2i/environnement (uniquement pour une stratégie de création de source)
  • Définir les variables dans l’objet BuildConfig
  • Fournir les variables explicitement à l’aide de la commande oc start-build --env (uniquement pour les builds qui sont déclenchés manuellement)
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat