2.2. Comprendre les configurations de construction


Les sections suivantes définissent le concept de compilation, la configuration de la compilation et décrivent les principales stratégies de compilation disponibles.

2.2.1. BuildConfigs

Une configuration de construction décrit une définition de construction unique et un ensemble de déclencheurs pour la création d'une nouvelle construction. Les configurations de construction sont définies par un BuildConfig, qui est un objet REST pouvant être utilisé dans un POST au serveur API pour créer une nouvelle instance.

Une configuration de construction, ou BuildConfig, est caractérisée par une stratégie de construction et une ou plusieurs sources. La stratégie détermine le processus, tandis que les sources fournissent les données d'entrée.

Selon la façon dont vous choisissez de créer votre application avec OpenShift Container Platform, un BuildConfig est généralement généré automatiquement pour vous si vous utilisez la console web ou le CLI, et il peut être modifié à tout moment. Comprendre les éléments qui composent un BuildConfig et leurs options disponibles peut vous aider si vous choisissez de modifier manuellement votre configuration ultérieurement.

L'exemple suivant BuildConfig entraîne une nouvelle compilation chaque fois qu'une balise d'image de conteneur ou le code source est modifié :

BuildConfig définition de l'objet

kind: BuildConfig
apiVersion: build.openshift.io/v1
metadata:
  name: "ruby-sample-build" 
1

spec:
  runPolicy: "Serial" 
2

  triggers: 
3

    -
      type: "GitHub"
      github:
        secret: "secret101"
    - type: "Generic"
      generic:
        secret: "secret101"
    -
      type: "ImageChange"
  source: 
4

    git:
      uri: "https://github.com/openshift/ruby-hello-world"
  strategy: 
5

    sourceStrategy:
      from:
        kind: "ImageStreamTag"
        name: "ruby-20-centos7:latest"
  output: 
6

    to:
      kind: "ImageStreamTag"
      name: "origin-ruby-sample:latest"
  postCommit: 
7

      script: "bundle exec rake test"
Copy to Clipboard Toggle word wrap

1
Cette spécification crée un nouveau site BuildConfig nommé ruby-sample-build.
2
Le champ runPolicy indique si les constructions créées à partir de cette configuration de construction peuvent être exécutées simultanément. La valeur par défaut est Serial, ce qui signifie que les nouvelles constructions sont exécutées séquentiellement et non simultanément.
3
Vous pouvez spécifier une liste de déclencheurs qui entraînent la création d'une nouvelle version.
4
La section source définit la source de la construction. Le type de source détermine la source primaire d'entrée, et peut être soit Git, pour pointer vers un dépôt de code, Dockerfile, pour construire à partir d'un fichier Docker en ligne, ou Binary, pour accepter des charges utiles binaires. Il est possible d'avoir plusieurs sources à la fois. Voir la documentation de chaque type de source pour plus de détails.
5
La section strategy décrit la stratégie de construction utilisée pour exécuter la construction. Vous pouvez spécifier une stratégie Source, Docker, ou Custom ici. Cet exemple utilise l'image du conteneur ruby-20-centos7 que Source-to-image (S2I) utilise pour la construction de l'application.
6
Une fois que l'image du conteneur est construite avec succès, elle est poussée dans le référentiel décrit dans la section output.
7
La section postCommit définit un crochet de construction optionnel.
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