Chapitre 3. Création d’entrées de build


Consultez les sections suivantes pour un aperçu des entrées de construction, des instructions sur la façon d’utiliser les entrées pour fournir du contenu source aux builds sur lesquels fonctionner, et comment utiliser des environnements de construction et créer des secrets.

3.1. Construire des entrées

L’entrée de build fournit du contenu source sur lequel les builds peuvent fonctionner. Les entrées de build suivantes vous permettent de fournir des sources dans OpenShift Dedicated, listées par ordre de priorité:

  • Définitions de Dockerfile en ligne
  • Contenu extrait des images existantes
  • Dépôts Git
  • Entrées binaires (locales)
  • Les secrets d’entrée
  • Artefacts externes

Il est possible de combiner plusieurs entrées en une seule version. Cependant, comme le Dockerfile en ligne a préséance, il peut écraser n’importe quel autre fichier nommé Dockerfile fourni par une autre entrée. Les dépôts binaires (local) et Git sont des entrées mutuellement exclusives.

Il est possible d’utiliser des secrets d’entrée lorsque vous ne voulez pas que certaines ressources ou informations d’identification utilisées lors d’une construction soient disponibles dans l’image de l’application finale produite par la construction, ou que vous souhaitez consommer une valeur définie dans une ressource secrète. Des artefacts externes peuvent être utilisés pour extraire des fichiers supplémentaires qui ne sont pas disponibles comme l’un des autres types d’entrée de build.

Lorsque vous exécutez une construction:

  1. Le répertoire de travail est construit et tout le contenu d’entrée est placé dans le répertoire de travail. À titre d’exemple, le référentiel Git d’entrée est cloné dans le répertoire de travail, et les fichiers spécifiés à partir d’images d’entrée sont copiés dans le répertoire de travail en utilisant le chemin cible.
  2. Le processus de construction modifie les répertoires dans le contexteDir, si l’on est défini.
  3. Le Dockerfile en ligne, s’il y en a, est écrit dans le répertoire actuel.
  4. Le contenu du répertoire actuel est fourni au processus de construction pour référence par le Dockerfile, la logique du constructeur personnalisé ou le script assembler. Cela signifie que tout contenu d’entrée qui réside en dehors du contexteDir est ignoré par la build.

L’exemple suivant d’une définition de source comprend plusieurs types d’entrée et une explication de la façon dont ils sont combinés. Consultez les sections spécifiques pour chaque type d’entrée pour plus de détails sur la façon dont chaque type d’entrée est défini.

source:
  git:
    uri: https://github.com/openshift/ruby-hello-world.git 
1

    ref: "master"
  images:
  - from:
      kind: ImageStreamTag
      name: myinputimage:latest
      namespace: mynamespace
    paths:
    - destinationDir: app/dir/injected/dir 
2

      sourcePath: /usr/lib/somefile.jar
  contextDir: "app/dir" 
3

  dockerfile: "FROM centos:7\nRUN yum install -y httpd" 
4
Copy to Clipboard Toggle word wrap
1
Le référentiel à cloner dans le répertoire de travail pour la construction.
2
/usr/lib/somefile.jar de myinputimage est stocké dans <workingdir>/app/dir/injected/dir.
3
Le répertoire de travail pour la construction devient <original_workingdir>/app/dir.
4
Dockerfile avec ce contenu est créé dans <original_workingdir>/app/dir, écraser tout fichier existant avec ce nom.
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