Chapitre 3. Pipelines
3.1. Notes de mise à jour de Red Hat OpenShift Pipelines Copier lienLien copié sur presse-papiers!
Red Hat OpenShift Pipelines est une expérience CI/CD cloud-native basée sur le projet Tekton qui fournit :
- Définitions standard de pipeline natif Kubernetes (CRDs).
- Pipelines sans serveur, sans frais de gestion des serveurs de CI.
- Extensibilité pour construire des images en utilisant n'importe quel outil Kubernetes, comme S2I, Buildah, JIB et Kaniko.
- Portabilité sur n'importe quelle distribution Kubernetes.
- CLI puissant pour interagir avec les pipelines.
- Expérience utilisateur intégrée avec la perspective Developer de la console web OpenShift Container Platform.
Pour une vue d'ensemble de Red Hat OpenShift Pipelines, voir Comprendre OpenShift Pipelines.
3.1.1. Matrice de compatibilité et de soutien Copier lienLien copié sur presse-papiers!
Certaines fonctionnalités de cette version sont actuellement en avant-première technologique. Ces fonctionnalités expérimentales ne sont pas destinées à être utilisées en production.
Dans le tableau, les caractéristiques sont marquées par les statuts suivants :
TP | Avant-première technologique |
GA | Disponibilité générale |
Version de Red Hat OpenShift Pipelines | Version du composant | Version d'OpenShift | Statut de soutien | ||||||
---|---|---|---|---|---|---|---|---|---|
Opérateur | Pipelines | Déclencheurs | CLI | Catalogue | Chaînes | Hub | Les pipelines en tant que code | ||
1.10 | 0.44.x | 0.23.x | 0.30.x | NA | 0.15.x (TP) | 1.12.x (TP) | 0.17.x (GA) | 4.11, 4.12, 4.13 (prévus) | GA |
1.9 | 0.41.x | 0.22.x | 0.28.x | NA | 0.13.x (TP) | 1.11.x (TP) | 0.15.x (GA) | 4.11, 4.12, 4.13 (prévus) | GA |
1.8 | 0.37.x | 0.20.x | 0.24.x | NA | 0.9.0 (TP) | 1.8.x (TP) | 0.10.x (TP) | 4.10, 4.11, 4.12 | GA |
1.7 | 0.33.x | 0.19.x | 0.23.x | 0.33 | 0.8.0 (TP) | 1.7.0 (TP) | 0.5.x (TP) | 4.9, 4.10, 4.11 | GA |
1.6 | 0.28.x | 0.16.x | 0.21.x | 0.28 | N/A | N/A | N/A | 4.9 | GA |
1.5 | 0.24.x | 0.14.x (TP) | 0.19.x | 0.24 | N/A | N/A | N/A | 4.8 | GA |
1.4 | 0.22.x | 0.12.x (TP) | 0.17.x | 0.22 | N/A | N/A | N/A | 4.7 | GA |
En outre, la prise en charge de l'exécution de Red Hat OpenShift Pipelines sur du matériel ARM est dans l'aperçu technologique.
Pour toute question ou commentaire, vous pouvez envoyer un courriel à l'équipe produit à l'adresse pipelines-interest@redhat.com.
3.1.2. Rendre l'open source plus inclusif Copier lienLien copié sur presse-papiers!
Red Hat s'engage à remplacer les termes problématiques dans son code, sa documentation et ses propriétés Web. Nous commençons par ces quatre termes : master, slave, blacklist et whitelist. En raison de l'ampleur de cette entreprise, ces changements seront mis en œuvre progressivement au cours de plusieurs versions à venir. Pour plus de détails, voir le message de notre directeur technique Chris Wright.
3.1.3. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.10 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.10 est disponible sur OpenShift Container Platform 4.11 et les versions ultérieures.
3.1.3.1. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
En plus des corrections et des améliorations de stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.10.
3.1.3.1.1. Pipelines Copier lienLien copié sur presse-papiers!
-
Avec cette mise à jour, vous pouvez spécifier des variables d'environnement dans un modèle de pod
PipelineRun
ouTaskRun
pour remplacer ou ajouter les variables configurées dans une tâche ou une étape. Vous pouvez également spécifier des variables d'environnement dans un modèle de module par défaut afin d'utiliser ces variables globalement pour tous les modulesPipelineRuns
etTaskRuns
. Cette mise à jour ajoute également une nouvelle configuration par défaut nomméeforbidden-envs
pour filtrer les variables d'environnement lors de la propagation à partir des modèles de pods. Avec cette mise à jour, les tâches personnalisées dans les pipelines sont activées par défaut.
NotePour désactiver cette mise à jour, définissez l'indicateur
enable-custom-tasks
surfalse
dans la ressource personnaliséefeature-flags
config.-
Cette mise à jour prend en charge la version de l'API
v1beta1.CustomRun
pour les tâches personnalisées. Cette mise à jour ajoute la prise en charge du rapprochement
PipelineRun
pour la création d'une exécution personnalisée. Par exemple, la version personnalisée deTaskRuns
créée à partir dePipelineRuns
peut désormais utiliser la version de l'APIv1beta1.CustomRun
au lieu dev1alpha1.Run
, si l'indicateur de fonctionnalitécustom-task-version
est défini surv1beta1
, au lieu de la valeur par défautv1alpha1
.NoteVous devez mettre à jour le contrôleur de tâches personnalisé pour qu'il écoute la version de l'API
*v1beta1.CustomRun
au lieu de*v1alpha1.Run
afin de répondre aux demandesv1beta1.CustomRun
.-
Cette mise à jour ajoute un nouveau champ
retries
aux spécificationsv1beta1.TaskRun
etv1.TaskRun
.
3.1.3.1.2. Déclencheurs Copier lienLien copié sur presse-papiers!
-
Avec cette mise à jour, les déclencheurs prennent en charge la création des objets
Pipelines
,Tasks
,PipelineRuns
, etTaskRuns
de la versionv1
de l'API ainsi que des objetsCustomRun
de la versionv1beta1
de l'API. Avec cette mise à jour, GitHub Interceptor bloque l'exécution d'un déclencheur de demande d'extraction à moins qu'il ne soit invoqué par un propriétaire ou accompagné d'un commentaire configurable de la part d'un propriétaire.
NotePour activer ou désactiver cette mise à jour, définissez la valeur du paramètre
githubOwners
surtrue
oufalse
dans le fichier de configuration de GitHub Interceptor.-
Avec cette mise à jour, GitHub Interceptor a la possibilité d'ajouter une liste délimitée par des virgules de tous les fichiers qui ont été modifiés pour les événements push et pull request. La liste des fichiers modifiés est ajoutée à la propriété
changed_files
de la charge utile de l'événement dans le champ des extensions de premier niveau. -
Cette mise à jour modifie le site
MinVersion
de TLS entls.VersionTLS12
afin que les déclencheurs s'exécutent sur OpenShift Container Platform lorsque le mode Federal Information Processing Standards (FIPS) est activé.
3.1.3.1.3. CLI Copier lienLien copié sur presse-papiers!
-
Cette mise à jour ajoute la possibilité de transmettre un fichier CSI (Container Storage Interface) en tant qu'espace de travail au moment du démarrage d'une application
Task
,ClusterTask
ouPipeline
. -
Cette mise à jour ajoute la prise en charge de l'API
v1
à toutes les commandes CLI associées aux ressources task, pipeline, pipeline run et task run. Tekton CLI fonctionne avec les APIv1beta1
etv1
pour ces ressources. -
Cette mise à jour ajoute la prise en charge d'un paramètre de type d'objet dans les commandes
start
etdescribe
.
3.1.3.1.4. Opérateur Copier lienLien copié sur presse-papiers!
-
Cette mise à jour ajoute un paramètre
default-forbidden-env
dans les propriétés optionnelles du pipeline. Ce paramètre inclut des variables d'environnement interdites qui ne doivent pas être propagées si elles sont fournies par des modèles de pods. -
Cette mise à jour ajoute la prise en charge des logos personnalisés dans l'interface utilisateur du Tekton Hub. Pour ajouter un logo personnalisé, définissez la valeur du paramètre
customLogo
à l'URI codée en base64 du logo dans le Tekton Hub CR. - Cette mise à jour augmente le numéro de version de la tâche git-clone à 0.9.
3.1.3.1.5. Chaînes Tekton Copier lienLien copié sur presse-papiers!
-
Cette mise à jour ajoute des annotations et des étiquettes aux attestations
PipelineRun
etTaskRun
. -
Cette mise à jour ajoute un nouveau format appelé
slsa/v1
, qui génère la même provenance que celle générée lors d'une demande au formatin-toto
. - Avec cette mise à jour, les fonctionnalités de Sigstore sont retirées des fonctionnalités expérimentales.
-
Avec cette mise à jour, la fonction
predicate.materials
inclut l'URI de l'image et les informations de résumé de toutes les étapes et barres latérales d'un objetTaskRun
.
3.1.3.1.6. Hub Tekton Copier lienLien copié sur presse-papiers!
-
Cette mise à jour prend en charge l'installation, la mise à niveau ou la rétrogradation des ressources Tekton de la version de l'API
v1
sur le cluster. - Cette mise à jour permet d'ajouter un logo personnalisé à la place du logo du Tekton Hub dans l'interface utilisateur.
-
Cette mise à jour étend les fonctionnalités de la commande
tkn hub install
en ajoutant un drapeau--type artifact
, qui récupère les ressources de l'Artifact Hub et les installe sur votre cluster. - Cette mise à jour ajoute des informations sur le niveau de support, le catalogue et l'organisation en tant qu'étiquettes pour les ressources installées depuis Artifact Hub sur votre cluster.
3.1.3.1.7. Les pipelines en tant que code Copier lienLien copié sur presse-papiers!
-
Cette mise à jour améliore la prise en charge des webhooks entrants. Pour une application GitHub installée sur le cluster OpenShift Container Platform, vous n'avez pas besoin de fournir la spécification
git_provider
pour un webhook entrant. Au lieu de cela, Pipelines as Code détecte le secret et l'utilise pour le webhook entrant. - Avec cette mise à jour, vous pouvez utiliser le même jeton pour récupérer des tâches distantes du même hôte sur GitHub avec une branche autre que celle par défaut.
-
Avec cette mise à jour, Pipelines as Code supporte les modèles Tekton
v1
. Vous pouvez avoir des modèlesv1
etv1beta1
, que Pipelines as Code lit pour la génération de PR. Le PR est créé en tant quev1
sur le cluster. -
Avant cette mise à jour, l'interface utilisateur de la console OpenShift utilisait un modèle d'exécution de pipeline codé en dur comme modèle de secours lorsqu'un modèle d'exécution n'était pas trouvé dans l'espace de noms OpenShift. Cette mise à jour de la carte de configuration
pipelines-as-code
fournit un nouveau modèle d'exécution de pipeline par défaut nommépipelines-as-code-template-default
pour la console à utiliser. - Avec cette mise à jour, Pipelines as Code supporte le statut minimal de Tekton Pipelines 0.44.0.
-
Avec cette mise à jour, Pipelines as Code supporte l'API Tekton
v1
, ce qui signifie que Pipelines as Code est maintenant compatible avec Tekton v0.44 et plus. - Avec cette mise à jour, vous pouvez configurer des tableaux de bord de console personnalisés en plus de la configuration d'une console pour OpenShift et des tableaux de bord Tekton pour k8s.
-
Avec cette mise à jour, Pipelines as Code détecte l'installation d'une application GitHub initiée à l'aide de la commande
tkn pac create repo
et ne nécessite pas de webhook GitHub si elle a été installée globalement. -
Avant cette mise à jour, s'il y avait une erreur sur une exécution de
PipelineRun
et non sur les tâches attachées àPipelineRun
, Pipelines as Code ne signalait pas correctement l'échec. Avec cette mise à jour, Pipelines as Code signale correctement l'erreur sur les contrôles GitHub lorsqu'unPipelineRun
n'a pas pu être créé. -
Avec cette mise à jour, Pipelines as Code inclut une variable
target_namespace
, qui s'étend à l'espace de noms en cours d'exécution oùPipelineRun
est exécuté. - Avec cette mise à jour, Pipelines as Code vous permet de contourner les questions d'entreprise de GitHub dans l'application CLI bootstrap GitHub.
- Avec cette mise à jour, Pipelines as Code ne signale pas d'erreurs lorsque le référentiel CR n'a pas été trouvé.
- Avec cette mise à jour, Pipelines as Code signale une erreur si plusieurs exécutions de pipeline portant le même nom ont été trouvées.
3.1.3.2. Changements en cours Copier lienLien copié sur presse-papiers!
-
Avec cette mise à jour, la version précédente de la commande
tkn
n'est pas compatible avec Red Hat OpenShift Pipelines 1.10. -
Cette mise à jour supprime la prise en charge des ressources de pipeline
Cluster
etCloudEvent
dans Tekton CLI. Vous ne pouvez pas créer de ressources de pipeline en utilisant la commandetkn pipelineresource create
. De plus, les ressources de pipeline ne sont plus prises en charge dans la commandestart
d'une tâche, d'une tâche de cluster ou d'un pipeline. -
Cette mise à jour supprime
tekton
en tant que format de provenance des chaînes Tekton.
3.1.3.3. Fonctionnalités obsolètes et supprimées Copier lienLien copié sur presse-papiers!
-
Dans Red Hat OpenShift Pipelines 1.10, les commandes
ClusterTask
sont désormais obsolètes et devraient être supprimées dans une prochaine version. La commandetkn task create
est également obsolète avec cette mise à jour. -
Dans Red Hat OpenShift Pipelines 1.10, les drapeaux
-i
et-o
qui étaient utilisés avec la commandetkn task start
sont désormais obsolètes car l'APIv1
ne prend pas en charge les ressources de pipeline. -
Dans Red Hat OpenShift Pipelines 1.10, l'indicateur
-r
qui était utilisé avec la commandetkn pipeline start
est obsolète car l'APIv1
ne prend pas en charge les ressources de pipeline. -
La mise à jour Red Hat OpenShift Pipelines 1.10 définit le paramètre
openshiftDefaultEmbeddedStatus
àboth
avecfull
etminimal
statut intégré. Le drapeau permettant de modifier le statut intégré par défaut est également obsolète et sera supprimé. De plus, le statut intégré par défaut du pipeline sera modifié enminimal
dans une prochaine version.
3.1.3.4. Problèmes connus Copier lienLien copié sur presse-papiers!
Cette mise à jour inclut les changements suivants, incompatibles avec le passé :
-
Suppression de la grappe
PipelineResources
-
Suppression du nuage
PipelineResources
-
Suppression de la grappe
Si la fonctionnalité de mesure des pipelines ne fonctionne pas après une mise à niveau du cluster, exécutez la commande suivante en guise de solution de contournement :
oc get tektoninstallersets.operator.tekton.dev | awk '/pipeline-main-static/ {print $1}' | xargs oc delete tektoninstallersets
$ oc get tektoninstallersets.operator.tekton.dev | awk '/pipeline-main-static/ {print $1}' | xargs oc delete tektoninstallersets
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Avec cette mise à jour, l'utilisation de bases de données externes, telles que Crunchy PostgreSQL, n'est pas prise en charge sur IBM Power, IBM zSystems et IBM® LinuxONE. Utilisez plutôt la base de données par défaut du Tekton Hub.
3.1.3.5. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Avant cette mise à jour, la commande
opc pac
générait une erreur d'exécution au lieu d'afficher un message d'aide. Cette mise à jour corrige la commandeopc pac
pour qu'elle affiche le message d'aide. -
Avant cette mise à jour, l'exécution de la commande
tkn pac create repo
nécessitait les détails du webhook pour créer un dépôt. Avec cette mise à jour, la commandetkn-pac create repo
ne configure pas de webhook lorsque votre application GitHub est installée. -
Avant cette mise à jour, Pipelines as Code ne signalait pas d'erreur de création d'une exécution de pipeline lorsque Tekton Pipelines rencontrait des problèmes lors de la création de la ressource
PipelineRun
. Par exemple, une tâche inexistante dans un pipeline n'affichait aucun statut. Avec cette mise à jour, Pipelines as Code affiche le message d'erreur approprié provenant de Tekton Pipelines ainsi que la tâche manquante. - Cette mise à jour corrige la redirection de la page de l'interface utilisateur après une authentification réussie. Désormais, vous êtes redirigé vers la même page que celle où vous avez tenté de vous connecter au Tekton Hub.
-
Cette mise à jour corrige la commande
list
avec ces drapeaux,--all-namespaces
et--output=yaml
, pour une tâche en grappe, une tâche individuelle et un pipeline. -
Cette mise à jour supprime la barre oblique à la fin de l'URL de
repo.spec.url
afin qu'elle corresponde à l'URL provenant de GitHub. -
Avant cette mise à jour, la fonction
marshalJSON
n'affichait pas de liste d'objets. Avec cette mise à jour, la fonctionmarshalJSON
gère la liste d'objets. - Avec cette mise à jour, Pipelines as Code vous permet de contourner les questions d'entreprise de GitHub dans l'application CLI bootstrap GitHub.
- Cette mise à jour corrige la vérification des collaborateurs GitHub lorsque votre dépôt a plus de 100 utilisateurs.
-
Avec cette mise à jour, les commandes
sign
etverify
pour une tâche ou un pipeline fonctionnent désormais sans fichier de configuration kubernetes. - Avec cette mise à jour, Tekton Operator nettoie les tâches cron d'élagage restantes si l'élagage a été ignoré sur un espace de noms.
-
Avant cette mise à jour, l'objet API
ConfigMap
n'était pas mis à jour avec une valeur configurée par l'utilisateur pour l'intervalle de rafraîchissement du catalogue. Cette mise à jour corrige l'APICATALOG_REFRESH_INTERVAL
dans le Tekon Hub CR. Cette mise à jour corrige la réconciliation de
PipelineRunStatus
lors de la modification de l'indicateur de fonctionnalitéEmbeddedStatus
. Cette mise à jour réinitialise les paramètres suivants :-
Les paramètres
status.runs
etstatus.taskruns
ànil
avecminimal EmbeddedStatus
-
Le paramètre
status.childReferences
ànil
avecfull EmbeddedStatus
-
Les paramètres
-
Cette mise à jour ajoute une configuration de conversion au CRD
ResolutionRequest
. Cette mise à jour configure correctement la conversion de la requêtev1alpha1.ResolutionRequest
vers la requêtev1beta1.ResolutionRequest
. - Cette mise à jour vérifie la présence d'espaces de travail en double associés à une tâche de pipeline.
- Cette mise à jour corrige la valeur par défaut de l'activation des résolveurs dans le code.
-
Cette mise à jour corrige la conversion des noms
TaskRef
etPipelineRef
à l'aide d'un résolveur.
3.1.4. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.9 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.9 est disponible sur OpenShift Container Platform 4.11 et les versions ultérieures.
3.1.4.1. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
En plus des corrections et des améliorations de stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.9.
3.1.4.1.1. Pipelines Copier lienLien copié sur presse-papiers!
- Avec cette mise à jour, vous pouvez spécifier les paramètres du pipeline et les résultats sous forme de tableaux et de dictionnaires d'objets.
- Cette mise à jour prend en charge l'interface de stockage de conteneurs (CSI) et les volumes projetés pour votre espace de travail.
-
Avec cette mise à jour, vous pouvez spécifier les paramètres
stdoutConfig
etstderrConfig
lors de la définition des étapes du pipeline. La définition de ces paramètres permet de capturer la sortie standard et l'erreur standard, associées aux étapes, dans des fichiers locaux. -
Avec cette mise à jour, vous pouvez ajouter des variables dans le gestionnaire d'événements
steps[].onError
, par exemple,$(params.CONTINUE)
. -
Avec cette mise à jour, vous pouvez utiliser le résultat de la tâche
finally
dans la définitionPipelineResults
. Par exemple,$(finally.<pipelinetask-name>.result.<result-name>)
, où<pipelinetask-name>
désigne le nom de la tâche du pipeline et<result-name>
le nom du résultat. - Cette mise à jour prend en charge les besoins en ressources au niveau des tâches pour l'exécution d'une tâche.
- Avec cette mise à jour, vous n'avez pas besoin de recréer les paramètres qui sont partagés, sur la base de leurs noms, entre un pipeline et les tâches définies. Cette mise à jour fait partie d'une fonctionnalité de l'avant-première pour les développeurs.
- Cette mise à jour ajoute la prise en charge de la résolution à distance, comme les résolveurs intégrés de git, cluster, bundle et hub.
3.1.4.1.2. Déclencheurs Copier lienLien copié sur presse-papiers!
-
Cette mise à jour ajoute le CRD
Interceptor
pour définirNamespacedInterceptor
. Vous pouvez utiliserNamespacedInterceptor
dans la sectionkind
de la référence aux intercepteurs dans les déclencheurs ou dans la spécificationEventListener
. -
Cette mise à jour permet à
CloudEvents
. - Avec cette mise à jour, vous pouvez configurer le numéro de port du webhook lors de la définition d'un déclencheur.
-
Cette mise à jour permet d'utiliser le déclencheur
eventID
comme entrée dansTriggerBinding
. Cette mise à jour prend en charge la validation et la rotation des certificats pour le serveur
ClusterInterceptor
.-
Les déclencheurs effectuent la validation des certificats pour les intercepteurs principaux et transmettent un nouveau certificat à
ClusterInterceptor
lorsque son certificat expire.
-
Les déclencheurs effectuent la validation des certificats pour les intercepteurs principaux et transmettent un nouveau certificat à
3.1.4.1.3. CLI Copier lienLien copié sur presse-papiers!
-
Cette mise à jour permet d'afficher les annotations dans la commande
describe
. -
Cette mise à jour permet d'afficher le pipeline, les tâches et le délai d'attente dans la commande
pr describe
. -
Cette mise à jour ajoute des drapeaux permettant d'indiquer le pipeline, les tâches et le délai d'attente dans la commande
pipeline start
. -
Cette mise à jour permet d'indiquer la présence d'un espace de travail, optionnel ou obligatoire, dans la commande
describe
d'une tâche et d'un pipeline. -
Cette mise à jour ajoute le drapeau
timestamps
pour afficher les journaux avec un horodatage. -
Cette mise à jour ajoute un nouvel indicateur
--ignore-running-pipelinerun
, qui ignore la suppression deTaskRun
associée àPipelineRun
. -
Cette mise à jour ajoute la prise en charge des commandes expérimentales. Cette mise à jour ajoute également des sous-commandes expérimentales,
sign
etverify
à l'outil CLItkn
. - Cette mise à jour permet d'utiliser la fonction d'achèvement de l'interpréteur de commandes Z (Zsh) sans générer de fichiers.
Cette mise à jour introduit un nouvel outil CLI appelé
opc
. Il est prévu qu'une prochaine version remplace l'outil CLItkn
paropc
.Important-
Le nouvel outil CLI
opc
est une fonctionnalité de l'aperçu technologique. -
opc
remplaceratkn
avec des fonctionnalités supplémentaires spécifiques à Red Hat OpenShift Pipelines, qui ne s'intègrent pas nécessairement danstkn
.
-
Le nouvel outil CLI
3.1.4.1.4. Opérateur Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Pipelines as Code est installé par défaut. Vous pouvez désactiver Pipelines as Code en utilisant le drapeau
-p
:$ oc patch tektonconfig config --type="merge" -p '{"spec": {"platforms": {"openshift":{"pipelinesAsCode": {"enable": false}}}}}'
$ oc patch tektonconfig config --type="merge" -p '{"spec": {"platforms": {"openshift":{"pipelinesAsCode": {"enable": false}}}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Avec cette mise à jour, vous pouvez également modifier les configurations de Pipelines as Code dans le CRD
TektonConfig
. - Avec cette mise à jour, si vous désactivez la perspective développeur, l'opérateur n'installe pas les ressources personnalisées liées à la console développeur.
-
Cette mise à jour inclut le support de
ClusterTriggerBinding
pour Bitbucket Server et Bitbucket Cloud et vous aide à réutiliser unTriggerBinding
sur l'ensemble de votre cluster.
3.1.4.1.5. Résolveurs Copier lienLien copié sur presse-papiers!
Resolvers est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
Avec cette mise à jour, vous pouvez configurer les résolveurs de pipeline dans le CRD
TektonConfig
. Vous pouvez activer ou désactiver ces résolveurs de pipeline :enable-bundles-resolver
,enable-cluster-resolver
,enable-git-resolver
, etenable-hub-resolver
.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous pouvez également fournir des configurations spécifiques au résolveur dans
TektonConfig
. Par exemple, vous pouvez définir les champs suivants dans le formatmap[string]string
pour définir des configurations pour des résolveurs individuels :Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.4.1.6. Chaînes Tekton Copier lienLien copié sur presse-papiers!
Tekton Chains est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
-
Avant cette mise à jour, seules les images de l'Open Container Initiative (OCI) étaient prises en charge en tant que sorties de
TaskRun
dans l'agent de provenance in-toto. Cette mise à jour ajoute les métadonnées de provenance in-toto en tant que sorties avec ces suffixes,ARTIFACT_URI
etARTIFACT_DIGEST
. -
Avant cette mise à jour, seules les attestations
TaskRun
étaient prises en charge. Cette mise à jour ajoute la prise en charge des attestationsPipelineRun
. -
Cette mise à jour ajoute la prise en charge des chaînes Tekton pour obtenir le paramètre
imgPullSecret
à partir du modèle de pod. Cette mise à jour vous aide à configurer l'authentification du référentiel en fonction de chaque exécution de pipeline ou de tâche sans modifier le compte de service.
3.1.4.1.7. Hub Tekton Copier lienLien copié sur presse-papiers!
Tekton Hub est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
Avec cette mise à jour, en tant qu'administrateur, vous pouvez utiliser une base de données externe, telle que Crunchy PostgreSQL avec Tekton Hub, au lieu d'utiliser la base de données par défaut de Tekton Hub. Cette mise à jour vous permet d'effectuer les actions suivantes :
- Spécifier les coordonnées d'une base de données externe à utiliser avec Tekton Hub
- Désactiver la base de données Tekton Hub par défaut déployée par l'Opérateur
Cette mise à jour supprime la dépendance de
config.yaml
à l'égard des dépôts Git externes et déplace les données de configuration complètes dans l'APIConfigMap
. Cette mise à jour permet à l'administrateur d'effectuer les actions suivantes :- Ajoutez les données de configuration, telles que les catégories, les catalogues, les scopes et les defaultScopes dans la ressource personnalisée Tekton Hub.
- Modifier les données de configuration du Tekton Hub sur le cluster. Toutes les modifications sont conservées lors des mises à jour de l'opérateur.
- Mettre à jour la liste des catalogues pour Tekton Hub
Modifier les catégories pour Tekton Hub
NoteSi vous n'ajoutez pas de données de configuration, vous pouvez utiliser les données par défaut de l'API
ConfigMap
pour les configurations du Tekton Hub.
3.1.4.1.8. Les pipelines en tant que code Copier lienLien copié sur presse-papiers!
-
Cette mise à jour ajoute la prise en charge de la limite de concurrence dans le CRD
Repository
pour définir le nombre maximum dePipelineRuns
en cours d'exécution pour un référentiel à la fois. LesPipelineRuns
provenant d'une requête pull ou d'un événement push sont mis en file d'attente dans l'ordre alphabétique. -
Cette mise à jour ajoute une nouvelle commande
tkn pac logs
pour afficher les journaux du dernier pipeline exécuté pour un dépôt. Cette mise à jour prend en charge la correspondance d'événement avancée sur le chemin de fichier pour les requêtes push et pull vers GitHub et GitLab. Par exemple, vous pouvez utiliser le langage d'expression commun (CEL) pour lancer un pipeline uniquement si le chemin d'accès d'un fichier markdown dans le répertoire
docs
a changé.... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && "docs/*.md".pathChanged()
... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && "docs/*.md".pathChanged()
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Avec cette mise à jour, vous pouvez référencer un pipeline distant dans l'objet
pipelineRef:
à l'aide d'annotations. -
Avec cette mise à jour, vous pouvez configurer automatiquement de nouveaux dépôts GitHub avec Pipelines as Code, qui met en place un espace de noms et crée un CRD
Repository
pour votre dépôt GitHub. -
Avec cette mise à jour, Pipelines as Code génère des métriques pour
PipelineRuns
avec des informations sur les fournisseurs. Cette mise à jour apporte les améliorations suivantes au plugin
tkn-pac
:- Détecte correctement les pipelines en cours d'exécution
- Correction de l'affichage de la durée lorsqu'il n'y a pas d'heure d'achèvement de l'échec
-
Affiche un extrait d'erreur et met en évidence le modèle d'expression régulière de l'erreur dans la commande
tkn-pac describe
-
Ajoute le commutateur
use-real-time
aux commandestkn-pac ls
ettkn-pac describe
-
Importe la documentation des journaux de
tkn-pac
-
Affiche
pipelineruntimeout
comme un échec dans les commandestkn-pac ls
ettkn-pac describe
. -
Afficher un échec spécifique de l'exécution d'un pipeline avec l'option
--target-pipelinerun
.
- Avec cette mise à jour, vous pouvez voir les erreurs de votre pipeline sous la forme d'un commentaire du système de contrôle de version (VCS) ou d'un petit extrait dans les contrôles GitHub.
- Avec cette mise à jour, Pipelines as Code peut optionnellement détecter les erreurs dans les tâches si elles sont d'un format simple et ajouter ces tâches en tant qu'annotations dans GitHub. Cette mise à jour fait partie d'un aperçu pour les développeurs.
Cette mise à jour ajoute les nouvelles commandes suivantes :
-
tkn-pac webhook add
: Ajoute un webhook aux paramètres du référentiel du projet et met à jour la cléwebhook.secret
dans l'objetk8s Secret
existant sans mettre à jour le référentiel. -
tkn-pac webhook update-token
: Met à jour le jeton de fournisseur pour un objetk8s Secret
existant sans mettre à jour le référentiel.
-
-
Cette mise à jour améliore les fonctionnalités de la commande
tkn-pac create repo
, qui crée et configure des webhooks pour GitHub, GitLab et BitbucketCloud, ainsi que la création de dépôts. -
Avec cette mise à jour, la commande
tkn-pac describe
affiche les cinquante derniers événements dans un ordre trié. -
Cette mise à jour ajoute l'option
--last
à la commandetkn-pac logs
. -
Avec cette mise à jour, la commande
tkn-pac resolve
demande un jeton lors de la détection d'ungit_auth_secret
dans le modèle de fichier. - Avec cette mise à jour, Pipelines as Code cache les secrets dans les extraits de journaux pour éviter d'exposer des secrets dans l'interface GitHub.
-
Avec cette mise à jour, les secrets générés automatiquement pour
git_auth_secret
sont une référence propriétaire avecPipelineRun
. Les secrets sont nettoyés en même temps quePipelineRun
, et non après l'exécution du pipeline. -
Cette mise à jour ajoute la possibilité d'annuler l'exécution d'un pipeline à l'aide du commentaire
/cancel
. Avant cette mise à jour, le champ d'application du jeton GitHub apps n'était pas défini et les jetons étaient utilisés pour chaque installation de référentiel. Avec cette mise à jour, vous pouvez définir la portée du jeton GitHub apps sur le référentiel cible en utilisant les paramètres suivants :
-
secret-github-app-token-scoped
: Le jeton d'application est limité au référentiel cible, et non à tous les référentiels auxquels l'installation de l'application a accès. -
secret-github-app-scope-extra-repos
: Personnalise le champ d'application du jeton d'application avec un propriétaire ou un dépôt supplémentaire.
-
- Avec cette mise à jour, vous pouvez utiliser Pipelines as Code avec vos propres dépôts Git hébergés sur GitLab.
- Avec cette mise à jour, vous pouvez accéder aux détails de l'exécution du pipeline sous la forme d'événements kubernetes dans votre espace de noms. Ces détails vous aident à résoudre les erreurs de pipeline sans avoir besoin d'accéder aux espaces de noms des administrateurs.
- Cette mise à jour supporte l'authentification des URLs dans les Pipelines en tant que résolveur de code avec le fournisseur Git.
-
Avec cette mise à jour, vous pouvez définir le nom du catalogue du concentrateur en utilisant un paramètre dans la carte de configuration
pipelines-as-code
. -
Cette mise à jour permet de définir les limites maximales et par défaut du paramètre
max-keep-run
. - Cette mise à jour ajoute des documents sur la façon d'injecter des certificats SSL (Secure Sockets Layer) personnalisés dans Pipelines as Code pour vous permettre de vous connecter à l'instance du fournisseur avec des certificats personnalisés.
-
Avec cette mise à jour, la définition de la ressource
PipelineRun
comporte l'URL du journal en tant qu'annotation. Par exemple, la commandetkn-pac describe
affiche le lien du journal lors de la description d'une ressourcePipelineRun
. -
Avec cette mise à jour, les journaux de
tkn-pac
affichent le nom du dépôt, au lieu du nom dePipelineRun
.
3.1.4.2. Changements en cours Copier lienLien copié sur presse-papiers!
-
Avec cette mise à jour, le type de définition de ressource personnalisée (CRD)
Conditions
a été supprimé. Il est possible d'utiliser le typeWhenExpressions
à la place. -
Avec cette mise à jour, la prise en charge des ressources de pipeline de l'API
tekton.dev/v1alpha1
, telles que Pipeline, PipelineRun, Task, Clustertask et TaskRun, a été supprimée. -
Avec cette mise à jour, la commande
tkn-pac setup
a été supprimée. A la place, utilisez la commandetkn-pac webhook add
pour ajouter un webhook à un référentiel Git existant. Et utilisez la commandetkn-pac webhook update-token
pour mettre à jour le jeton d'accès du fournisseur personnel pour un objet Secret existant dans le référentiel Git. -
Avec cette mise à jour, un espace de noms qui exécute un pipeline avec les paramètres par défaut n'applique pas le label
pod-security.kubernetes.io/enforce:privileged
à une charge de travail.
3.1.4.3. Fonctionnalités obsolètes et supprimées Copier lienLien copié sur presse-papiers!
-
Dans la version 1.9.0 de Red Hat OpenShift Pipelines,
ClusterTasks
est déprécié et il est prévu de le supprimer dans une prochaine version. Comme alternative, vous pouvez utiliserCluster Resolver
. -
Dans la version 1.9.0 de Red Hat OpenShift Pipelines, l'utilisation des champs
triggers
etnamespaceSelector
dans une seule spécificationEventListener
est dépréciée et il est prévu de la supprimer dans une prochaine version. Vous pouvez utiliser ces champs dans différentes spécificationsEventListener
avec succès. -
Dans la version 1.9.0 de Red Hat OpenShift Pipelines, la commande
tkn pipelinerun describe
n'affiche pas les délais d'attente pour la ressourcePipelineRun
. -
Dans la version 1.9.0 de Red Hat OpenShift Pipelines, la ressource personnalisée (CR) PipelineResource` est obsolète. La CR
PipelineResource
était une fonctionnalité Tech Preview et faisait partie de l'APItekton.dev/v1alpha1
. - Dans la version 1.9.0 de Red Hat OpenShift Pipelines, les paramètres d'image personnalisée des tâches de cluster sont obsolètes. Comme alternative, vous pouvez copier une tâche de cluster et utiliser votre image personnalisée dans celle-ci.
3.1.4.4. Problèmes connus Copier lienLien copié sur presse-papiers!
-
Les cartes de configuration
chains-secret
etchains-config
sont supprimées après la désinstallation de Red Hat OpenShift Pipelines Operator. Comme elles contiennent des données d'utilisateur, elles doivent être conservées et non supprimées.
Lorsque vous exécutez le jeu de commandes
tkn pac
sous Windows, vous pouvez recevoir le message d'erreur suivant :Command finished with error: not supported by Windows.
Solution de contournement : Définissez la variable d'environnement
NO_COLOR
surtrue
.L'exécution de la commande
tkn pac resolve -f <filename> | oc create -f
peut ne pas donner les résultats escomptés si la commandetkn pac resolve
utilise une valeur de paramètre modélisée pour fonctionner.Solution : Pour atténuer ce problème, enregistrez la sortie de
tkn pac resolve
dans un fichier temporaire en exécutant la commandetkn pac resolve -f <filename> -o tempfile.yaml
, puis la commandeoc create -f tempfile.yaml
. Par exemple,tkn pac resolve -f <filename> -o /tmp/pull-request-resolved.yaml && oc create -f /tmp/pull-request-resolved.yaml
.
3.1.4.5. Problèmes corrigés Copier lienLien copié sur presse-papiers!
- Avant cette mise à jour, après avoir remplacé un tableau vide, le tableau original renvoyait une chaîne vide, ce qui rendait les paramètres qu'il contenait invalides. Avec cette mise à jour, ce problème est résolu et le tableau original retourne une chaîne vide.
- Avant cette mise à jour, si des secrets en double étaient présents dans un compte de service pour une exécution de pipeline, cela entraînait un échec dans la création du module de tâches. Avec cette mise à jour, ce problème est résolu et le module de tâches est créé avec succès même si des secrets en double sont présents dans un compte de service.
-
Avant cette mise à jour, en consultant le champ
spec.StatusMessage
du TaskRun, les utilisateurs ne pouvaient pas savoir si leTaskRun
avait été annulé par l'utilisateur ou par unPipelineRun
qui en faisait partie. Avec cette mise à jour, ce problème est résolu et les utilisateurs peuvent distinguer le statut deTaskRun
en regardant le champspec.StatusMessage
de la TaskRun. - Avant cette mise à jour, la validation du webhook était supprimée lors de la suppression d'anciennes versions d'objets invalides. Avec cette mise à jour, ce problème est résolu.
Avant cette mise à jour, si vous définissiez le paramètre
timeouts.pipeline
sur0
, vous ne pouviez pas définir les paramètrestimeouts.tasks
outimeouts.finally
. Cette mise à jour résout le problème. Désormais, lorsque vous définissez la valeur du paramètretimeouts.pipeline
, vous pouvez définir la valeur du paramètre "timeouts.tasks" ou du paramètretimeouts.finally
. Par exemple :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Avant cette mise à jour, une condition de course pouvait se produire si un autre outil mettait à jour des étiquettes ou des annotations sur un PipelineRun ou un TaskRun. Avec cette mise à jour, ce problème est résolu et vous pouvez fusionner les étiquettes ou les annotations.
- Avant cette mise à jour, les clés de journal n'avaient pas les mêmes clés que dans les contrôleurs de pipeline. Avec cette mise à jour, ce problème a été résolu et les clés des journaux ont été mises à jour pour correspondre au flux de journaux des contrôleurs de pipeline. Les clés des journaux sont passées de "ts" à "timestamp", de "level" à "severity" et de "message" à "msg".
- Avant cette mise à jour, si un PipelineRun était supprimé avec un statut inconnu, un message d'erreur n'était pas généré. Avec cette mise à jour, ce problème est résolu et un message d'erreur est généré.
-
Avant cette mise à jour, il était nécessaire d'utiliser le fichier
kubeconfig
pour accéder aux commandes de l'offre groupée telles quelist
etpush
. Avec cette mise à jour, ce problème a été résolu et le fichierkubeconfig
n'est plus nécessaire pour accéder aux commandes de l'offre groupée. - Avant cette mise à jour, si le PipelineRun parent était en cours d'exécution pendant la suppression des TaskRuns, les TaskRuns étaient supprimées. Avec cette mise à jour, ce problème est résolu et les TaskRuns ne sont pas supprimées si le PipelineRun parent est en cours d'exécution.
- Avant cette mise à jour, si l'utilisateur tentait de construire une grappe avec plus d'objets que le contrôleur de pipeline ne le permettait, l'interface de programmation Tekton n'affichait pas de message d'erreur. Avec cette mise à jour, ce problème est résolu et la CLI Tekton affiche un message d'erreur si l'utilisateur tente de construire une grappe avec plus d'objets que la limite autorisée dans le contrôleur de pipeline.
-
Avant cette mise à jour, si des espaces de noms étaient supprimés du cluster, l'opérateur ne supprimait pas les espaces de noms des sujets
ClusterInterceptor ClusterRoleBinding
. Avec cette mise à jour, ce problème a été résolu et l'opérateur supprime les espaces de noms des sujetsClusterInterceptor ClusterRoleBinding
. -
Avant cette mise à jour, l'installation par défaut de Red Hat OpenShift Pipelines Operator avait pour résultat que la ressource de liaison de rôle
pipelines-scc-rolebinding security context constraint
(SCC) restait dans le cluster. Avec cette mise à jour, l'installation par défaut de Red Hat OpenShift Pipelines Operator entraîne la suppression de la ressource de liaison de rôlepipelines-scc-rolebinding security context constraint
(SCC) du cluster.
-
Avant cette mise à jour, Pipelines as Code ne recevait pas les valeurs mises à jour de l'objet Pipelines as Code
ConfigMap
. Avec cette mise à jour, ce problème est résolu et l'objet Pipelines as CodeConfigMap
recherche toute nouvelle modification. -
Avant cette mise à jour, le contrôleur de Pipelines as Code n'attendait pas que l'étiquette
tekton.dev/pipeline
soit mise à jour et ajoutait l'étiquettecheckrun id
, ce qui provoquait des conditions de concurrence. Avec cette mise à jour, le contrôleur de Pipelines as Code attend que l'étiquettetekton.dev/pipeline
soit mise à jour et ajoute ensuite l'étiquettecheckrun id
, ce qui permet d'éviter les problèmes de concurrence. -
Avant cette mise à jour, la commande
tkn-pac create repo
ne remplaçait pas une commandePipelineRun
si elle existait déjà dans le dépôt git. Avec cette mise à jour, la commandetkn-pac create
est corrigée pour remplacer une commandePipelineRun
si elle existe dans le dépôt git, ce qui résout le problème avec succès. -
Avant cette mise à jour, la commande
tkn pac describe
n'affichait pas les raisons de chaque message. Avec cette mise à jour, ce problème est corrigé et la commandetkn pac describe
affiche les motifs pour chaque message. -
Avant cette mise à jour, une demande d'extraction échouait si l'utilisateur dans l'annotation fournissait des valeurs en utilisant une forme de regex, par exemple,
refs/head/rel-*
. La demande d'extraction échouait parce qu'il manquaitrefs/heads
dans sa branche de base. Avec cette mise à jour, le préfixe est ajouté et on vérifie qu'il correspond. Cela résout le problème et la demande d'extraction est acceptée.
3.1.4.6. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.9.1 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.9.1 est disponible sur OpenShift Container Platform 4.11 et les versions ultérieures.
3.1.4.7. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Avant cette mise à jour, la commande
tkn pac repo list
ne fonctionnait pas sous Microsoft Windows. Cette mise à jour corrige le problème et vous pouvez désormais exécuter la commandetkn pac repo list
sous Microsoft Windows. - Avant cette mise à jour, l'observateur de Pipelines as Code ne recevait pas tous les événements de changement de configuration. Avec cette mise à jour, l'observateur de Pipelines as Code a été mis à jour, et maintenant l'observateur de Pipelines as Code ne manque pas les événements de changement de configuration.
-
Avant cette mise à jour, les pods créés par Pipelines as Code, tels que
TaskRuns
ouPipelineRuns
ne pouvaient pas accéder aux certificats personnalisés exposés par l'utilisateur dans le cluster. Cette mise à jour corrige le problème et vous pouvez maintenant accéder aux certificats personnalisés à partir des podsTaskRuns
ouPipelineRuns
dans le cluster. -
Avant cette mise à jour, sur un cluster activé avec FIPS, l'intercepteur
tekton-triggers-core-interceptors
core utilisé dans la ressourceTrigger
ne fonctionnait pas après que l'opérateur Pipelines ait été mis à niveau vers la version 1.9. Cette mise à jour résout le problème. Désormais, OpenShift utilise MInTLS 1.2 pour tous ses composants. Par conséquent, l'intercepteur centraltekton-triggers-core-interceptors
est mis à jour vers la version 1.2 de TLS et sa fonctionnalité fonctionne correctement. Avant cette mise à jour, lors de l'utilisation d'un pipeline avec un registre d'images interne à OpenShift, l'URL de l'image devait être codée en dur dans la définition du pipeline. Par exemple, l'URL de l'image devait être codée en dur dans la définition de l'exécution du pipeline :
... - name: IMAGE_NAME value: 'image-registry.openshift-image-registry.svc:5000/<test_namespace>/<test_pipelinerun>' ...
... - name: IMAGE_NAME value: 'image-registry.openshift-image-registry.svc:5000/<test_namespace>/<test_pipelinerun>' ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lors de l'utilisation d'une exécution de pipeline dans le contexte de Pipelines as Code, ces valeurs codées en dur empêchaient les définitions d'exécution de pipeline d'être utilisées dans différents clusters et espaces de noms.
Avec cette mise à jour, vous pouvez utiliser les variables de modèle dynamiques au lieu de coder en dur les valeurs des espaces de noms et des noms d'exécutions de pipeline pour généraliser les définitions d'exécutions de pipeline. Par exemple :
... - name: IMAGE_NAME value: 'image-registry.openshift-image-registry.svc:5000/{{ target_namespace }}/$(context.pipelineRun.name)' ...
... - name: IMAGE_NAME value: 'image-registry.openshift-image-registry.svc:5000/{{ target_namespace }}/$(context.pipelineRun.name)' ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Avant cette mise à jour, Pipelines as Code utilisait le même jeton GitHub pour récupérer une tâche distante disponible dans le même hôte uniquement sur la branche GitHub par défaut. Cette mise à jour résout le problème. Désormais, Pipelines as Code utilise le même jeton GitHub pour récupérer une tâche distante à partir de n'importe quelle branche GitHub.
3.1.4.8. Problèmes connus Copier lienLien copié sur presse-papiers!
La valeur de
CATALOG_REFRESH_INTERVAL
, un champ de l'objet Hub APIConfigMap
utilisé dans le Tekton Hub CR, n'est pas mise à jour avec une valeur personnalisée fournie par l'utilisateur.Solution de contournement : Aucune. Vous pouvez suivre le problème SRVKP-2854.
3.1.4.9. Changements en cours Copier lienLien copié sur presse-papiers!
- Avec cette mise à jour, un problème de mauvaise configuration de l'OLM a été introduit, ce qui empêche la mise à niveau de la plateforme OpenShift Container. Ce problème sera corrigé dans une prochaine version.
3.1.4.10. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.9.2 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.9.2 est disponible sur OpenShift Container Platform 4.11 et les versions ultérieures.
3.1.4.11. Problèmes corrigés Copier lienLien copié sur presse-papiers!
- Avant cette mise à jour, un problème de mauvaise configuration OLM avait été introduit dans la version précédente, ce qui empêchait la mise à niveau d'OpenShift Container Platform. Avec cette mise à jour, ce problème de mauvaise configuration a été corrigé.
3.1.5. Notes de mise à jour pour Red Hat OpenShift Pipelines General Availability 1.8 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.8 est disponible sur OpenShift Container Platform 4.10, 4.11 et 4.12.
3.1.5.1. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
En plus des corrections et des améliorations de stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.8.
3.1.5.1.1. Pipelines Copier lienLien copié sur presse-papiers!
-
Avec cette mise à jour, vous pouvez exécuter Red Hat OpenShift Pipelines GA 1.8 et plus sur un cluster OpenShift Container Platform qui fonctionne sur du matériel ARM. Cela inclut la prise en charge des ressources
ClusterTask
et de l'outil CLItkn
.
L'exécution de Red Hat OpenShift Pipelines sur du matériel ARM est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
-
Cette mise à jour met en œuvre les dérogations
Step
etSidecar
pour les ressourcesTaskRun
. Cette mise à jour ajoute les statuts minimaux
TaskRun
etRun
dans les statutsPipelineRun
.Pour activer cette fonctionnalité, dans la définition de la ressource personnalisée
TektonConfig
, dans la sectionpipeline
, vous devez définir le champenable-api-fields
suralpha
.Avec cette mise à jour, la fonctionnalité d'arrêt gracieux des exécutions de pipeline passe d'une fonctionnalité alpha à une fonctionnalité stable. Par conséquent, le statut
PipelineRunCancelled
, précédemment déprécié, reste déprécié et devrait être supprimé dans une prochaine version.Cette fonctionnalité étant disponible par défaut, il n'est plus nécessaire de donner au champ
pipeline.enable-api-fields
la valeuralpha
dans la définition de la ressource personnaliséeTektonConfig
.Avec cette mise à jour, vous pouvez spécifier l'espace de travail pour une tâche de pipeline en utilisant le nom de l'espace de travail. Cette modification facilite la spécification d'un espace de travail partagé pour une paire de ressources
Pipeline
etPipelineTask
. Vous pouvez également continuer à mapper les espaces de travail de manière explicite.Pour activer cette fonctionnalité, dans la définition de la ressource personnalisée
TektonConfig
, dans la sectionpipeline
, vous devez définir le champenable-api-fields
suralpha
.- Avec cette mise à jour, les paramètres des spécifications intégrées sont propagés sans mutations.
-
Avec cette mise à jour, vous pouvez spécifier les métadonnées requises d'une ressource
Task
référencée par une ressourcePipelineRun
en utilisant des annotations et des étiquettes. Ainsi, les métadonnées deTask
qui dépendent du contexte d'exécution sont disponibles pendant l'exécution du pipeline. -
Cette mise à jour ajoute la prise en charge des types d'objets ou de dictionnaires dans les valeurs
params
etresults
. Cette modification affecte la compatibilité ascendante et rompt parfois la compatibilité descendante, comme l'utilisation d'un client antérieur avec une version plus récente de Red Hat OpenShift Pipelines. Cette mise à jour modifie la structure deArrayOrStruct
, ce qui affecte les projets qui utilisent l'API du langage Go en tant que bibliothèque. -
Cette mise à jour ajoute une valeur
SkippingReason
au champSkippedTasks
des champs de statutPipelineRun
afin que les utilisateurs sachent pourquoi une tâche de pipeline donnée a été ignorée. Cette mise à jour prend en charge une fonctionnalité alpha qui permet d'utiliser un type
array
pour émettre des résultats à partir d'un objetTask
. Le type de résultat passe destring
àArrayOrString
. Par exemple, une tâche peut spécifier un type pour produire un résultat sous forme de tableau :Copy to Clipboard Copied! Toggle word wrap Toggle overflow En outre, vous pouvez exécuter un script de tâche pour remplir les résultats avec un tableau :
echo -n "[\"hello\",\"world\"]" | tee $(results.array-results.path)
$ echo -n "[\"hello\",\"world\"]" | tee $(results.array-results.path)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour activer cette fonctionnalité, dans la définition de la ressource personnalisée
TektonConfig
, dans la sectionpipeline
, vous devez définir le champenable-api-fields
suralpha
.Cette fonctionnalité est en cours de réalisation et fait partie du TEP-0076.
3.1.5.1.2. Déclencheurs Copier lienLien copié sur presse-papiers!
Cette mise à jour fait passer le champ
TriggerGroups
de la spécificationEventListener
d'une fonctionnalité alpha à une fonctionnalité stable. Ce champ permet de spécifier un ensemble d'intercepteurs avant de sélectionner et d'exécuter un groupe de déclencheurs.Cette fonctionnalité étant disponible par défaut, il n'est plus nécessaire de donner au champ
pipeline.enable-api-fields
la valeuralpha
dans la définition de la ressource personnaliséeTektonConfig
.-
Avec cette mise à jour, la ressource
Trigger
prend en charge les connexions sécurisées de bout en bout en exécutant le serveurClusterInterceptor
à l'aide de HTTPS.
3.1.5.1.3. CLI Copier lienLien copié sur presse-papiers!
-
Avec cette mise à jour, vous pouvez utiliser la commande
tkn taskrun export
pour exporter une exécution de tâche en direct d'un cluster vers un fichier YAML, que vous pouvez utiliser pour importer l'exécution de tâche vers un autre cluster. -
Avec cette mise à jour, vous pouvez ajouter l'option
-o name
à la commandetkn pipeline start
afin d'afficher le nom de l'exécution du pipeline dès son démarrage. -
Cette mise à jour ajoute une liste des plugins disponibles à la sortie de la commande
tkn --help
. -
Avec cette mise à jour, lors de la suppression d'un pipeline ou d'une tâche, vous pouvez utiliser à la fois les drapeaux
--keep
et--keep-since
. -
Avec cette mise à jour, vous pouvez utiliser
Cancelled
comme valeur du champspec.status
plutôt que la valeur obsolètePipelineRunCancelled
.
3.1.5.1.4. Opérateur Copier lienLien copié sur presse-papiers!
- Avec cette mise à jour, en tant qu'administrateur, vous pouvez configurer votre instance locale de Tekton Hub pour qu'elle utilise une base de données personnalisée plutôt que la base de données par défaut.
Avec cette mise à jour, en tant qu'administrateur de cluster, si vous activez votre instance locale de Tekton Hub, celle-ci rafraîchit périodiquement la base de données afin que les changements dans le catalogue apparaissent dans la console web de Tekton Hub. Vous pouvez ajuster la période entre les rafraîchissements.
Auparavant, pour ajouter les tâches et les pipelines du catalogue à la base de données, vous deviez effectuer cette tâche manuellement ou configurer un travail cron pour le faire à votre place.
- Avec cette mise à jour, vous pouvez installer et faire fonctionner une instance de Tekton Hub avec une configuration minimale. De cette façon, vous pouvez commencer à travailler avec vos équipes pour décider des personnalisations supplémentaires qu'elles pourraient souhaiter.
-
Cette mise à jour ajoute
GIT_SSL_CAINFO
à la tâchegit-clone
afin que vous puissiez cloner des dépôts sécurisés.
3.1.5.1.5. Chaînes Tekton Copier lienLien copié sur presse-papiers!
Tekton Chains est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
- Avec cette mise à jour, vous pouvez vous connecter à un coffre-fort en utilisant OIDC plutôt qu'un jeton statique. Cette modification signifie que Spire peut générer l'identifiant OIDC afin que seules les charges de travail de confiance soient autorisées à se connecter à l'espace de stockage. En outre, vous pouvez transmettre l'adresse de l'espace de stockage en tant que valeur de configuration plutôt que de l'injecter en tant que variable d'environnement.
-
La carte de configuration
chains-config
pour Tekton Chains dans l'espace de nomsopenshift-pipelines
est automatiquement réinitialisée par défaut après la mise à jour de Red Hat OpenShift Pipelines Operator car la mise à jour directe de la carte de configuration n'est pas prise en charge lors de l'installation à l'aide de Red Hat OpenShift Pipelines Operator. Cependant, avec cette mise à jour, vous pouvez configurer les chaînes Tekton en utilisant la ressource personnaliséeTektonChain
. Cette fonctionnalité permet à votre configuration de persister après la mise à jour, contrairement à la carte de configurationchains-config
, qui est écrasée lors des mises à jour.
3.1.5.1.6. Hub Tekton Copier lienLien copié sur presse-papiers!
Tekton Hub est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
Avec cette mise à jour, si vous installez une nouvelle instance de Tekton Hub en utilisant l'Opérateur, le login Tekton Hub est désactivé par défaut. Pour activer les fonctions de connexion et de notation, vous devez créer le secret API Hub lors de l'installation de Tekton Hub.
NoteÉtant donné que la connexion Tekton Hub était activée par défaut dans Red Hat OpenShift Pipelines 1.7, si vous mettez à niveau l'opérateur, la connexion est activée par défaut dans Red Hat OpenShift Pipelines 1.8. Pour désactiver cette connexion, voir Désactivation de la connexion Tekton Hub après la mise à niveau d'OpenShift Pipelines 1.7.x -→ 1.8.x
Avec cette mise à jour, en tant qu'administrateur, vous pouvez configurer votre instance locale de Tekton Hub pour utiliser une base de données PostgreSQL 13 personnalisée plutôt que la base de données par défaut. Pour ce faire, créez une ressource
Secret
nomméetekton-hub-db
. Par exemple :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Avec cette mise à jour, vous n'avez plus besoin de vous connecter à la console web Tekton Hub pour ajouter des ressources du catalogue à la base de données. Désormais, ces ressources sont automatiquement ajoutées lorsque l'API Tekton Hub est lancée pour la première fois.
- Cette mise à jour actualise automatiquement le catalogue toutes les 30 minutes en appelant le job API d'actualisation du catalogue. Cet intervalle est configurable par l'utilisateur.
3.1.5.1.7. Les pipelines en tant que code Copier lienLien copié sur presse-papiers!
Pipelines as Code (PAC) est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
-
Avec cette mise à jour, en tant que développeur, vous recevez une notification de l'outil CLI
tkn-pac
si vous essayez d'ajouter un référentiel dupliqué à une exécution de Pipelines as Code. Lorsque vous entreztkn pac create repository
, chaque référentiel doit avoir une URL unique. Cette notification permet également d'éviter les exploits de détournement. -
Avec cette mise à jour, en tant que développeur, vous pouvez utiliser la nouvelle commande
tkn-pac setup cli
pour ajouter un dépôt Git à Pipelines as Code en utilisant le mécanisme de webhook. Ainsi, vous pouvez utiliser Pipelines as Code même lorsque l'utilisation de GitHub Apps n'est pas possible. Cette fonctionnalité inclut la prise en charge des dépôts sur GitHub, GitLab et BitBucket. Avec cette mise à jour, Pipelines as Code prend en charge l'intégration de GitLab avec des fonctionnalités telles que les suivantes :
- ACL (Access Control List) sur le projet ou le groupe
-
/ok-to-test
le soutien des utilisateurs autorisés -
/retest
le soutien.
Avec cette mise à jour, vous pouvez effectuer un filtrage avancé des pipelines avec le langage d'expression commun (CEL). Avec CEL, vous pouvez faire correspondre des exécutions de pipeline avec différents événements du fournisseur Git en utilisant des annotations dans la ressource
PipelineRun
. Par exemple :... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && target_branch == "main" && source_branch == "wip"
... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && target_branch == "main" && source_branch == "wip"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Auparavant, en tant que développeur, vous ne pouviez avoir qu'une seule exécution de pipeline dans votre répertoire
.tekton
pour chaque événement Git, tel qu'une pull request. Avec cette mise à jour, vous pouvez avoir plusieurs exécutions de pipeline dans votre répertoire.tekton
. La console web affiche l'état et les rapports des exécutions. Les exécutions de pipeline fonctionnent en parallèle et renvoient des rapports à l'interface du fournisseur Git. -
Avec cette mise à jour, vous pouvez tester ou retester un pipeline en commentant
/test
ou/retest
sur une pull request. Vous pouvez également spécifier le pipeline par son nom. Par exemple, vous pouvez saisir/test <pipelinerun_name>
ou/retest <pipelinerun-name>
. -
Avec cette mise à jour, vous pouvez supprimer une ressource personnalisée du référentiel et ses secrets associés en utilisant la nouvelle commande
tkn-pac delete repository
.
3.1.5.2. Changements en cours Copier lienLien copié sur presse-papiers!
Cette mise à jour modifie le niveau de métrique par défaut des ressources
TaskRun
etPipelineRun
pour les valeurs suivantes :Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Avec cette mise à jour, si une annotation ou un label est présent à la fois dans les ressources
Pipeline
etPipelineRun
, la valeur du typeRun
est prioritaire. Il en va de même si une annotation ou un label est présent dans les ressourcesTask
etTaskRun
. -
Dans Red Hat OpenShift Pipelines 1.8, le champ
PipelineRun.Spec.ServiceAccountNames
, précédemment déprécié, a été supprimé. Utilisez le champPipelineRun.Spec.TaskRunSpecs
à la place. -
Dans Red Hat OpenShift Pipelines 1.8, le champ
TaskRun.Status.ResourceResults.ResourceRef
, précédemment déprécié, a été supprimé. Utilisez le champTaskRun.Status.ResourceResults.ResourceName
à la place. -
Dans Red Hat OpenShift Pipelines 1.8, le type de ressource
Conditions
, précédemment déprécié, a été supprimé. Supprimez la ressourceConditions
des définitions de ressourcesPipeline
qui l'incluent. Utilisez les expressionswhen
dans les définitionsPipelineRun
à la place.
-
Pour les chaînes Tekton, le format
tekton-provenance
a été supprimé dans cette version. Utilisez plutôt le formatin-toto
en définissant"artifacts.taskrun.format": "in-toto"
dans la ressource personnaliséeTektonChain
.
Red Hat OpenShift Pipelines 1.7.x était livré avec Pipelines as Code 0.5.x. La mise à jour actuelle est livrée avec Pipelines as Code 0.10.x. Ce changement crée une nouvelle route dans l'espace de noms
openshift-pipelines
pour le nouveau contrôleur. Vous devez mettre à jour cette route dans les applications GitHub ou les webhooks qui utilisent Pipelines as Code. Pour récupérer la route, utilisez la commande suivante :oc get route -n openshift-pipelines pipelines-as-code-controller \ --template='https://{{ .spec.host }}'
$ oc get route -n openshift-pipelines pipelines-as-code-controller \ --template='https://{{ .spec.host }}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Avec cette mise à jour, Pipelines as Code renomme les clés secrètes par défaut pour la définition de ressource personnalisée (CRD)
Repository
. Dans votre CRD, remplaceztoken
parprovider.token
, et remplacezsecret
parwebhook.secret
. -
Avec cette mise à jour, Pipelines as Code remplace une variable de modèle spéciale par une variable qui prend en charge des exécutions de pipeline multiples pour des dépôts privés. Dans vos exécutions du pipeline, remplacez
secret: pac-git-basic-auth-{{repo_owner}}-{{repo_name}}
parsecret: {{ git_auth_secret }}
. Avec cette mise à jour, Pipelines as Code met à jour les commandes suivantes dans l'outil CLI
tkn-pac
:-
Remplacer
tkn pac repository create
partkn pac create repository
. -
Remplacer
tkn pac repository delete
partkn pac delete repository
. -
Remplacer
tkn pac repository list
partkn pac list
.
-
Remplacer
3.1.5.3. Fonctionnalités obsolètes et supprimées Copier lienLien copié sur presse-papiers!
À partir d'OpenShift Container Platform 4.11, les canaux
preview
etstable
pour l'installation et la mise à jour de Red Hat OpenShift Pipelines Operator sont supprimés. Pour installer et mettre à niveau l'opérateur, utilisez le canalpipelines-<version>
approprié ou le canallatest
pour la version stable la plus récente. Par exemple, pour installer la version1.8.x
d'OpenShift Pipelines Operator, utilisez le canalpipelines-1.8
.NoteDans OpenShift Container Platform 4.10 et les versions antérieures, vous pouvez utiliser les canaux
preview
etstable
pour installer et mettre à niveau l'opérateur.La prise en charge de la version de l'API
tekton.dev/v1alpha1
, qui était obsolète dans Red Hat OpenShift Pipelines GA 1.6, devrait être supprimée dans la prochaine version Red Hat OpenShift Pipelines GA 1.9.Ce changement affecte le composant pipeline, qui comprend les ressources
TaskRun
,PipelineRun
,Task
,Pipeline
, et les ressources similairestekton.dev/v1alpha1
. Comme alternative, mettez à jour les ressources existantes pour utiliserapiVersion: tekton.dev/v1beta1
comme décrit dans Migrating From Tekton v1alpha1 to Tekton v1beta1.Les corrections de bogues et l'assistance pour la version de l'API
tekton.dev/v1alpha1
ne sont fournies que jusqu'à la fin du cycle de vie actuel de l'AG 1.8.ImportantPour Tekton Operator, la version de l'API
operator.tekton.dev/v1alpha1
est not deprecated. Il n'est pas nécessaire de modifier cette valeur.-
Dans Red Hat OpenShift Pipelines 1.8, la ressource personnalisée (CR)
PipelineResource
est disponible mais n'est plus prise en charge. La CRPipelineResource
était une fonctionnalité Tech Preview et faisait partie de l'APItekton.dev/v1alpha1
, qui a été dépréciée et qu'il est prévu de supprimer dans la prochaine version Red Hat OpenShift Pipelines GA 1.9. -
Dans Red Hat OpenShift Pipelines 1.8, la ressource personnalisée (CR)
Condition
est supprimée. La CRCondition
faisait partie de l'APItekton.dev/v1alpha1
, qui a été dépréciée et devrait être supprimée dans la prochaine version de Red Hat OpenShift Pipelines GA 1.9. -
Dans Red Hat OpenShift Pipelines 1.8, l'image
gcr.io
pourgsutil
a été supprimée. Cette suppression pourrait interrompre les clusters avec les ressourcesPipeline
qui dépendent de cette image. Les corrections de bugs et l'assistance sont fournies uniquement jusqu'à la fin du cycle de vie de Red Hat OpenShift Pipelines 1.7.
-
Dans Red Hat OpenShift Pipelines 1.8, les champs
PipelineRun.Status.TaskRuns
etPipelineRun.Status.Runs
sont dépréciés et devraient être supprimés dans une prochaine version. Voir TEP-0100 : Embedded TaskRuns and Runs Status in PipelineRuns. Dans Red Hat OpenShift Pipelines 1.8, l'état
pipelineRunCancelled
est déprécié et il est prévu de le supprimer dans une prochaine version. La terminaison gracieuse des objetsPipelineRun
est maintenant promue d'une fonctionnalité alpha à une fonctionnalité stable (voir TEP-0058 : Terminaison gracieuse de l'exécution du pipeline). (Voir TEP-0058 : Graceful Pipeline Run Termination.) Comme alternative, vous pouvez utiliser l'étatCancelled
, qui remplace l'étatpipelineRunCancelled
.Vous n'avez pas besoin de modifier vos ressources
Pipeline
etTask
. Si vous avez des outils qui annulent les exécutions de pipeline, vous devez les mettre à jour dans la prochaine version. Ce changement affecte également les outils tels que le CLI, les extensions de l'IDE, etc., afin qu'ils prennent en charge les nouveaux statutsPipelineRun
.Cette fonctionnalité étant disponible par défaut, il n'est plus nécessaire de donner au champ
pipeline.enable-api-fields
la valeuralpha
dans la définition de la ressource personnaliséeTektonConfig
.Dans Red Hat OpenShift Pipelines 1.8, le champ
timeout
dansPipelineRun
a été déprécié. À la place, utilisez le champPipelineRun.Timeouts
, qui est maintenant passé d'une fonctionnalité alpha à une fonctionnalité stable.Cette fonctionnalité étant disponible par défaut, il n'est plus nécessaire de donner au champ
pipeline.enable-api-fields
la valeuralpha
dans la définition de la ressource personnaliséeTektonConfig
.-
Dans Red Hat OpenShift Pipelines 1.8, les conteneurs
init
sont omis des calculs de demande par défaut de l'objetLimitRange
.
3.1.5.4. Problèmes connus Copier lienLien copié sur presse-papiers!
Le pipeline
s2i-nodejs
ne peut pas utiliser le flux d'imagesnodejs:14-ubi8-minimal
pour effectuer des constructions source-image (S2I). L'utilisation de ce flux d'images produit un messageerror building at STEP "RUN /usr/libexec/s2i/assemble": exit status 127
.Solution de contournement : Utilisez
nodejs:14-ubi8
plutôt que le flux d'imagesnodejs:14-ubi8-minimal
.
Lorsque vous exécutez des tâches de cluster Maven et Jib-Maven, l'image de conteneur par défaut n'est prise en charge que sur l'architecture Intel (x86). Par conséquent, les tâches échoueront sur les clusters ARM, IBM Power Systems (ppc64le), IBM Z et LinuxONE (s390x).
Solution de contournement : Spécifiez une image personnalisée en définissant la valeur du paramètre
MAVEN_IMAGE
surmaven:3.6.3-adoptopenjdk-11
.AstuceAvant d'installer des tâches basées sur le catalogue Tekton sur ARM, IBM Power Systems (ppc64le), IBM Z et LinuxONE (s390x) en utilisant
tkn hub
, vérifiez si la tâche peut être exécutée sur ces plates-formes. Pour vérifier sippc64le
ets390x
sont répertoriés dans la section "Platforms" des informations sur la tâche, vous pouvez exécuter la commande suivante :tkn hub info task <name>
-
Sur ARM, IBM Power Systems, IBM Z et LinuxONE, la tâche
s2i-dotnet
cluster n'est pas prise en charge.
-
Le mappage implicite des paramètres transmet incorrectement les paramètres des définitions de premier niveau
Pipeline
ouPipelineRun
aux tâchestaskRef
. Le mappage ne doit se faire qu'à partir d'une ressource de premier niveau vers des tâches avec des spécifications en lignetaskSpec
. Ce problème n'affecte que les clusters où cette fonctionnalité a été activée en définissant le champenable-api-fields
suralpha
dans la sectionpipeline
de la définition de la ressource personnaliséeTektonConfig
.
3.1.5.5. Problèmes corrigés Copier lienLien copié sur presse-papiers!
- Avant cette mise à jour, les métriques pour les exécutions de pipeline dans la vue Développeur de la console web étaient incomplètes et obsolètes. Avec cette mise à jour, le problème a été corrigé de sorte que les métriques sont correctes.
-
Avant cette mise à jour, si un pipeline avait deux tâches parallèles qui échouaient et que l'une d'entre elles avait
retries=2
, les tâches finales ne s'exécutaient jamais, et le pipeline s'arrêtait et ne s'exécutait pas. Par exemple, la tâchepipelines-operator-subscription
échouait par intermittence avec le message d'erreur suivant :Unable to connect to the server: EOF
. Avec cette mise à jour, le problème a été corrigé de sorte que les tâches finales s'exécutent toujours. -
Avant cette mise à jour, si l'exécution d'un pipeline s'arrêtait en raison de l'échec d'une tâche, les autres tâches risquaient de ne pas être relancées. Par conséquent, aucune tâche
finally
n'était programmée, ce qui entraînait un blocage du pipeline. Cette mise à jour résout le problème. Les objetsTaskRuns
etRun
peuvent réessayer lorsqu'une exécution du pipeline s'est arrêtée, même par arrêt gracieux, afin que les exécutions du pipeline puissent se terminer. -
Cette mise à jour modifie la façon dont les besoins en ressources sont calculés lorsqu'un ou plusieurs objets
LimitRange
sont présents dans l'espace de noms où un objetTaskRun
existe. Le planificateur prend désormais en compte les conteneursstep
et exclut tous les autres conteneurs d'applications, tels que les conteneurs sidecar, lors de la prise en compte des demandes provenant d'objetsLimitRange
. -
Avant cette mise à jour, dans certaines conditions, le paquetage flag pouvait analyser incorrectement une sous-commande suivant immédiatement un double tiret de terminaison de drapeau,
--
. Dans ce cas, il exécutait la sous-commande du point d'entrée plutôt que la commande réelle. Cette mise à jour corrige ce problème d'analyse des drapeaux afin que le point d'entrée exécute la commande correcte. -
Avant cette mise à jour, le contrôleur pouvait générer plusieurs paniques si l'extraction d'une image échouait ou si son statut d'extraction était incomplet. Cette mise à jour corrige le problème en vérifiant la valeur
step.ImageID
plutôt que la valeurstatus.TaskSpec
. -
Avant cette mise à jour, l'annulation d'une exécution de pipeline contenant une tâche personnalisée non planifiée produisait une erreur
PipelineRunCouldntCancel
. Cette mise à jour corrige ce problème. Vous pouvez annuler une exécution de pipeline contenant une tâche personnalisée non planifiée sans produire cette erreur. Avant cette mise à jour, si le
<NAME>
dans$params["<NAME>"]
ou$params['<NAME>']
contenait un point (.
), toute partie du nom à droite du point n'était pas extraite. Par exemple, à partir de$params["org.ipsum.lorem"]
, seulorg
était extrait.Cette mise à jour corrige le problème de sorte que
$params
récupère la valeur complète. Par exemple,$params["org.ipsum.lorem"]
et$params['org.ipsum.lorem']
sont valides et la valeur complète de<NAME>
,org.ipsum.lorem
, est extraite.Il génère également une erreur si
<NAME>
n'est pas entouré de guillemets simples ou doubles. Par exemple,$params.org.ipsum.lorem
n'est pas valide et génère une erreur de validation.
-
Avec cette mise à jour, les ressources
Trigger
prennent en charge les intercepteurs personnalisés et garantissent que le port du service d'interception personnalisé est le même que celui du fichier de définitionClusterInterceptor
.
-
Avant cette mise à jour, la commande
tkn version
pour les chaînes Tekton et les composants Operator ne fonctionnait pas correctement. Cette mise à jour corrige le problème de sorte que la commande fonctionne correctement et renvoie des informations sur la version de ces composants. -
Avant cette mise à jour, si vous exécutiez une commande
tkn pr delete --ignore-running
et qu'un pipeline n'avait pas de valeurstatus.condition
, l'outil CLItkn
générait une erreur de pointeur nul (NPE). Cette mise à jour corrige le problème de sorte que l'outil CLI génère désormais une erreur et ignore correctement les exécutions de pipeline qui sont toujours en cours. -
Avant cette mise à jour, si vous utilisiez les commandes
tkn pr delete --keep <value>
outkn tr delete --keep <value>
et que le nombre d'exécutions de pipeline ou de tâches était inférieur à la valeur, la commande ne renvoyait pas d'erreur comme prévu. Cette mise à jour corrige le problème de sorte que la commande renvoie correctement une erreur dans ces conditions. -
Avant cette mise à jour, si vous utilisiez les commandes
tkn pr delete
outkn tr delete
avec les drapeaux-p
ou-t
et le drapeau--ignore-running
, les commandes supprimaient incorrectement les ressources en cours d'exécution ou en attente. Cette mise à jour corrige le problème de sorte que ces commandes ignorent correctement les ressources en cours d'exécution ou en attente.
-
Avec cette mise à jour, vous pouvez configurer les chaînes Tekton en utilisant la ressource personnalisée
TektonChain
. Cette fonctionnalité permet à votre configuration de persister après la mise à jour, contrairement à la carte de configurationchains-config
, qui est écrasée lors des mises à jour. -
Avec cette mise à jour, les ressources
ClusterTask
ne s'exécutent plus en tant que root par défaut, à l'exception des tâches de clusterbuildah
ets2i
. -
Avant cette mise à jour, les tâches sur Red Hat OpenShift Pipelines 1.7.1 échouaient lors de l'utilisation de
init
comme premier argument suivi de deux arguments ou plus. Avec cette mise à jour, les drapeaux sont analysés correctement, et les exécutions de tâches sont réussies. Avant cette mise à jour, l'installation de Red Hat OpenShift Pipelines Operator sur OpenShift Container Platform 4.9 et 4.10 échouait en raison d'une liaison de rôle non valide, avec le message d'erreur suivant :
error updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleRef
error updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleRef
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cette mise à jour corrige le problème de sorte que l'échec ne se produise plus.
-
Auparavant, la mise à niveau de Red Hat OpenShift Pipelines Operator entraînait la recréation du compte de service
pipeline
, ce qui signifiait que les secrets liés au compte de service étaient perdus. Cette mise à jour corrige ce problème. Lors des mises à niveau, l'Opérateur ne recrée plus le compte de servicepipeline
. Par conséquent, les secrets liés au compte de servicepipeline
persistent après les mises à niveau, et les ressources (tâches et pipelines) continuent de fonctionner correctement. -
Avec cette mise à jour, les pods Pipelines as Code s'exécutent sur les nœuds d'infrastructure si les paramètres du nœud d'infrastructure sont configurés dans la ressource personnalisée (CR)
TektonConfig
. Auparavant, avec l'élagueur de ressources, chaque opérateur d'espace de noms créait une commande qui s'exécutait dans un conteneur distinct. Cette conception consommait trop de ressources dans les grappes comportant un grand nombre d'espaces de noms. Par exemple, pour exécuter une seule commande, une grappe de 1000 espaces de noms produisait 1000 conteneurs dans un pod.
Cette mise à jour corrige le problème. Elle transmet la configuration basée sur l'espace de noms à la tâche afin que toutes les commandes s'exécutent en boucle dans un conteneur.
-
Dans Tekton Chains, vous devez définir un secret appelé
signing-secrets
pour contenir la clé utilisée pour signer les tâches et les images. Cependant, avant cette mise à jour, la mise à jour de Red Hat OpenShift Pipelines Operator réinitialisait ou écrasait ce secret, et la clé était perdue. Cette mise à jour corrige ce problème. Désormais, si le secret est configuré après l'installation de Tekton Chains via l'Opérateur, le secret persiste et n'est pas écrasé par les mises à jour. Avant cette mise à jour, toutes les tâches de construction de S2I échouaient avec une erreur similaire au message suivant :
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Avec cette mise à jour, la contrainte de contexte de sécurité (SCC) de
pipelines-scc
est compatible avec la capacité deSETFCAP
nécessaire pour les tâches de cluster deBuildah
etS2I
. Par conséquent, les tâches de constructionBuildah
etS2I
peuvent être exécutées avec succès.Pour exécuter avec succès la tâche de cluster
Buildah
et les tâches de constructionS2I
pour les applications écrites dans différents langages et frameworks, ajoutez l'extrait suivant pour les objetssteps
appropriés tels quebuild
etpush
:securityContext: capabilities: add: ["SETFCAP"]
securityContext: capabilities: add: ["SETFCAP"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Avant cette mise à jour, l'installation de Red Hat OpenShift Pipelines Operator prenait plus de temps que prévu. Cette mise à jour optimise certains paramètres afin d'accélérer le processus d'installation.
-
Avec cette mise à jour, les tâches des clusters Buildah et S2I comportent moins d'étapes que dans les versions précédentes. Certaines étapes ont été regroupées en une seule afin de mieux fonctionner avec les objets
ResourceQuota
etLimitRange
et de ne pas nécessiter plus de ressources que nécessaire. -
Cette mise à jour met à jour les versions de Buildah, de l'outil CLI
tkn
et de l'outil CLIskopeo
dans les tâches en grappe. -
Avant cette mise à jour, l'opérateur échouait lors de la création de ressources RBAC si un espace de noms était dans l'état
Terminating
. Avec cette mise à jour, l'opérateur ignore les espaces de noms dans l'étatTerminating
et crée les ressources RBAC. -
Avant cette mise à jour, les pods pour les cronjobs prune n'étaient pas planifiés sur les nœuds d'infrastructure, comme prévu. Au lieu de cela, ils étaient planifiés sur les nœuds de travail ou n'étaient pas planifiés du tout. Avec cette mise à jour, ces types de pods peuvent désormais être planifiés sur les nœuds d'infrastructure s'ils sont configurés dans la ressource personnalisée (CR)
TektonConfig
.
3.1.5.6. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.8.1 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.8.1 est disponible sur OpenShift Container Platform 4.10, 4.11 et 4.12.
3.1.5.6.1. Problèmes connus Copier lienLien copié sur presse-papiers!
Par défaut, les conteneurs ont des permissions restreintes pour une sécurité accrue. Les permissions restreintes s'appliquent à tous les pods contrôleurs dans l'Opérateur Red Hat OpenShift Pipelines, ainsi qu'à certaines tâches de cluster. En raison des permissions restreintes, la tâche de cluster
git-clone
échoue dans certaines configurations.Solution de contournement : Aucune. Vous pouvez suivre le problème SRVKP-2634.
Lorsque les ensembles d'installation sont dans un état d'échec, l'état de la ressource personnalisée
TektonConfig
est incorrectement affiché commeTrue
au lieu deFalse
.Exemple : Échec de l'installation des jeux
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple : Statut incorrect
TektonConfig
oc get tektonconfig config
$ oc get tektonconfig config NAME VERSION READY REASON config 1.8.1 True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.5.6.2. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Avant cette mise à jour, l'élagueur supprimait les tâches des pipelines en cours d'exécution et affichait l'avertissement suivant :
some tasks were indicated completed without ancestors being done
. Avec cette mise à jour, l'élagueur conserve les tâches qui font partie des pipelines en cours d'exécution. -
Avant cette mise à jour,
pipeline-1.8
était le canal par défaut pour l'installation de Red Hat OpenShift Pipelines Operator 1.8.x. Avec cette mise à jour,latest
est le canal par défaut. - Avant cette mise à jour, les pods contrôleurs de Pipelines as Code n'avaient pas accès aux certificats exposés par l'utilisateur. Avec cette mise à jour, Pipelines as Code peut désormais accéder aux routes et aux dépôts Git protégés par un certificat auto-signé ou personnalisé.
- Avant cette mise à jour, la tâche échouait avec des erreurs RBAC après la mise à niveau de Red Hat OpenShift Pipelines 1.7.2 à 1.8.0. Avec cette mise à jour, les tâches s'exécutent avec succès sans aucune erreur RBAC.
-
Avant cette mise à jour, à l'aide de l'outil CLI
tkn
, vous ne pouviez pas supprimer les exécutions de tâches et les exécutions de pipeline qui contenaient un objetresult
dont le type étaitarray
. Avec cette mise à jour, vous pouvez utiliser l'outil CLItkn
pour supprimer les exécutions de tâches et les exécutions de pipeline qui contiennent un objetresult
dont le type estarray
. -
Avant cette mise à jour, si une spécification de pipeline contenait une tâche avec un paramètre
ENV_VARS
de typearray
, l'exécution du pipeline échouait avec l'erreur suivante :invalid input params for task func-buildpacks: param types don’t match the user-specified type: [ENV_VARS]
. Avec cette mise à jour, les exécutions de pipeline avec de telles spécifications de pipeline et de tâche n'échouent pas. -
Avant cette mise à jour, les administrateurs de grappes ne pouvaient pas fournir de fichier
config.json
à la tâche de grappeBuildah
pour accéder à un registre de conteneurs. Avec cette mise à jour, les administrateurs de clusters peuvent fournir un fichierconfig.json
à la tâche de clusterBuildah
en utilisant l'espace de travaildockerconfig
.
3.1.5.7. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.8.2 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.8.2 est disponible sur OpenShift Container Platform 4.10, 4.11 et 4.12.
3.1.5.7.1. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Avant cette mise à jour, la tâche
git-clone
échouait lors du clonage d'un référentiel à l'aide de clés SSH. Avec cette mise à jour, le rôle de l'utilisateur non root dans la tâchegit-init
est supprimé, et le programme SSH recherche les clés correctes dans le répertoire$HOME/.ssh/
.
3.1.6. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.7 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.7 est disponible sur OpenShift Container Platform 4.9, 4.10 et 4.11.
3.1.6.1. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
En plus des corrections et des améliorations de stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.7.
3.1.6.1.1. Pipelines Copier lienLien copié sur presse-papiers!
Avec cette mise à jour,
pipelines-<version>
est le canal par défaut pour installer Red Hat OpenShift Pipelines Operator. Par exemple, le canal par défaut pour installer la version1.7
d'OpenShift Pipelines Operator estpipelines-1.7
. Les administrateurs de cluster peuvent également utiliser le canallatest
pour installer la version stable la plus récente de l'Opérateur.NoteLes canaux
preview
etstable
seront dépréciés et supprimés dans une prochaine version.Lorsque vous exécutez une commande dans un espace de noms utilisateur, votre conteneur s'exécute en tant que
root
(user id0
) mais dispose de privilèges d'utilisateur sur l'hôte. Avec cette mise à jour, pour exécuter des pods dans l'espace de noms utilisateur, vous devez passer les annotations attendues par CRI-O.-
Pour ajouter ces annotations pour tous les utilisateurs, exécutez la commande
oc edit clustertask buildah
et modifiez la tâche de clusterbuildah
. - Pour ajouter les annotations à un espace de noms spécifique, exportez la tâche de cluster en tant que tâche vers cet espace de noms.
-
Pour ajouter ces annotations pour tous les utilisateurs, exécutez la commande
Avant cette mise à jour, si certaines conditions n'étaient pas remplies, l'expression
when
sautait un objetTask
et ses tâches dépendantes. Avec cette mise à jour, vous pouvez étendre l'expressionwhen
pour garder l'objetTask
uniquement, et non ses tâches dépendantes. Pour activer cette mise à jour, définissez l'indicateurscope-when-expressions-to-task
surtrue
dans le CRDTektonConfig
.NoteL'indicateur
scope-when-expressions-to-task
est obsolète et sera supprimé dans une prochaine version. En tant que meilleure pratique pour OpenShift Pipelines, utilisez les expressionswhen
limitées à l'élément gardéTask
uniquement.-
Avec cette mise à jour, vous pouvez utiliser la substitution de variables dans le champ
subPath
d'un espace de travail au sein d'une tâche. Avec cette mise à jour, vous pouvez référencer les paramètres et les résultats en utilisant une notation entre crochets avec des guillemets simples ou doubles. Avant cette mise à jour, vous ne pouviez utiliser que la notation par points. Par exemple, les éléments suivants sont désormais équivalents :
$(param.myparam)
,$(param['myparam'])
, et$(param["myparam"])
.Vous pouvez utiliser des guillemets simples ou doubles pour entourer les noms de paramètres qui contiennent des caractères problématiques, tels que
"."
. Par exemple,$(param['my.param'])
et$(param["my.param"])
.
-
Avec cette mise à jour, vous pouvez inclure le paramètre
onError
d'une étape dans la définition de la tâche sans activer l'indicateurenable-api-fields
.
3.1.6.1.2. Déclencheurs Copier lienLien copié sur presse-papiers!
-
Avec cette mise à jour, la carte de configuration
feature-flag-triggers
dispose d'un nouveau champlabels-exclusion-pattern
. Vous pouvez définir la valeur de ce champ par une expression régulière (regex). Le contrôleur filtre les étiquettes qui correspondent au motif de l'expression régulière et les empêche de se propager de l'auditeur d'événements vers les ressources créées pour l'auditeur d'événements. -
Avec cette mise à jour, le champ
TriggerGroups
est ajouté à la spécificationEventListener
. Ce champ permet de spécifier un ensemble d'intercepteurs à exécuter avant de sélectionner et d'exécuter un groupe de déclencheurs. Pour activer cette fonctionnalité, dans la définition de la ressource personnaliséeTektonConfig
, dans la sectionpipeline
, vous devez définir le champenable-api-fields
suralpha
. -
Avec cette mise à jour, les ressources
Trigger
prennent en charge les exécutions personnalisées définies par un modèleTriggerTemplate
. -
Avec cette mise à jour, les déclencheurs prennent en charge l'émission d'événements Kubernetes à partir d'un pod
EventListener
. -
Avec cette mise à jour, les mesures de comptage sont disponibles pour les objets suivants :
ClusterInteceptor
,EventListener
,TriggerTemplate
,ClusterTriggerBinding
, etTriggerBinding
. -
Cette mise à jour ajoute la spécification
ServicePort
à la ressource Kubernetes. Vous pouvez utiliser cette spécification pour modifier le port qui expose le service d'écoute d'événements. Le port par défaut est8080
. -
Avec cette mise à jour, vous pouvez utiliser le champ
targetURI
dans la spécificationEventListener
pour envoyer des événements cloud pendant le traitement des déclencheurs. Pour activer cette fonctionnalité, dans la définition de la ressource personnaliséeTektonConfig
, dans la sectionpipeline
, vous devez définir le champenable-api-fields
suralpha
. -
Avec cette mise à jour, l'objet
tekton-triggers-eventlistener-roles
a maintenant un verbepatch
, en plus du verbecreate
qui existe déjà. -
Avec cette mise à jour, le paramètre
securityContext.runAsUser
est supprimé du déploiement de l'écouteur d'événements.
3.1.6.1.3. CLI Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, la commande
tkn [pipeline | pipelinerun] export
exporte un pipeline ou une exécution de pipeline sous la forme d'un fichier YAML. Par exemple, il est possible d'exporter un pipeline ou une exécution de pipeline sous forme de fichier YAML :Exporter un pipeline nommé
test_pipeline
dans l'espace de nomsopenshift-pipelines
:tkn pipeline export test_pipeline -n openshift-pipelines
$ tkn pipeline export test_pipeline -n openshift-pipelines
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exporter un pipeline nommé
test_pipeline_run
dans l'espace de nomsopenshift-pipelines
:tkn pipelinerun export test_pipeline_run -n openshift-pipelines
$ tkn pipelinerun export test_pipeline_run -n openshift-pipelines
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Avec cette mise à jour, l'option
--grace
est ajoutée à l'optiontkn pipelinerun cancel
. Utilisez l'option--grace
pour mettre fin à l'exécution d'un pipeline de manière gracieuse au lieu de forcer la fin. Pour activer cette fonctionnalité, dans la définition de la ressource personnaliséeTektonConfig
, dans la sectionpipeline
, vous devez définir le champenable-api-fields
àalpha
. Cette mise à jour ajoute les versions Operator et Chains à la sortie de la commande
tkn version
.ImportantTekton Chains est une fonctionnalité de l'aperçu technologique.
-
Avec cette mise à jour, la commande
tkn pipelinerun describe
affiche toutes les exécutions de tâches annulées, lorsque vous annulez une exécution de pipeline. Avant cette correction, une seule tâche était affichée. -
Avec cette mise à jour, vous pouvez ne pas fournir les spécifications de l'espace de travail optionnel lorsque vous exécutez la commande
tkn [t | p | ct] start
skips avec l'option--skip-optional-workspace
. Vous pouvez également ne pas le faire en mode interactif. Avec cette mise à jour, vous pouvez utiliser la commande
tkn chains
pour gérer les chaînes Tekton. Vous pouvez également utiliser l'option--chains-namespace
pour spécifier l'espace de noms dans lequel vous souhaitez installer les chaînes Tekton.ImportantTekton Chains est une fonctionnalité de l'aperçu technologique.
3.1.6.1.4. Opérateur Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, vous pouvez utiliser l'opérateur Red Hat OpenShift Pipelines pour installer et déployer Tekton Hub et Tekton Chains.
ImportantLes chaînes Tekton et le déploiement de Tekton Hub sur un cluster sont des fonctionnalités de l'aperçu technologique.
Avec cette mise à jour, vous pouvez trouver et utiliser Pipelines as Code (PAC) en tant qu'option supplémentaire.
ImportantPipelines as Code est une fonctionnalité de l'aperçu technologique.
Avec cette mise à jour, vous pouvez désormais désactiver l'installation des tâches de cluster communautaire en définissant le paramètre
communityClusterTasks
surfalse
. Par exemple :Copy to Clipboard Copied! Toggle word wrap Toggle overflow Avec cette mise à jour, vous pouvez désactiver l'intégration de Tekton Hub avec la perspective Developer en définissant l'indicateur
enable-devconsole-integration
dans la ressource personnaliséeTektonConfig
surfalse
. Par exemple :Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Avec cette mise à jour, la carte de configuration
operator-config.yaml
permet à la sortie de la commandetkn version
d'afficher la version de l'opérateur. -
Avec cette mise à jour, la version des tâches
argocd-task-sync-and-wait
est modifiée env0.2
. -
Avec cette mise à jour du CRD
TektonConfig
, la commandeoc get tektonconfig
affiche la version de l'OPerator. - Avec cette mise à jour, le moniteur de service est ajouté aux mesures des déclencheurs.
3.1.6.1.5. Hub Copier lienLien copié sur presse-papiers!
Le déploiement de Tekton Hub sur un cluster est une fonctionnalité de l'aperçu technologique.
Tekton Hub vous aide à découvrir, rechercher et partager des tâches et des pipelines réutilisables pour vos flux de travail CI/CD. Une instance publique de Tekton Hub est disponible sur hub.tekton.dev.
Depuis Red Hat OpenShift Pipelines 1.7, les administrateurs de clusters peuvent également installer et déployer une instance personnalisée de Tekton Hub sur les clusters d'entreprise. Vous pouvez créer un catalogue avec des tâches réutilisables et des pipelines spécifiques à votre organisation.
3.1.6.1.6. Chaînes Copier lienLien copié sur presse-papiers!
Tekton Chains est une fonctionnalité de l'aperçu technologique.
Tekton Chains est un contrôleur de définition de ressources personnalisées (CRD) de Kubernetes. Vous pouvez l'utiliser pour gérer la sécurité de la chaîne logistique des tâches et des pipelines créés à l'aide de Red Hat OpenShift Pipelines.
Par défaut, Tekton Chains surveille les exécutions de tâches dans votre cluster OpenShift Container Platform. Chains prend des instantanés des exécutions de tâches terminées, les convertit en un ou plusieurs formats de charge utile standard, et signe et stocke tous les artefacts.
Tekton Chains prend en charge les fonctionnalités suivantes :
-
Vous pouvez signer les exécutions de tâches, les résultats des exécutions de tâches et les images de registre OCI avec des types de clés cryptographiques et des services tels que
cosign
. -
Vous pouvez utiliser des formats d'attestation tels que
in-toto
. - Vous pouvez stocker en toute sécurité des signatures et des artefacts signés en utilisant le référentiel OCI comme backend de stockage.
3.1.6.1.7. Les pipelines en tant que code (PAC) Copier lienLien copié sur presse-papiers!
Pipelines as Code est une fonctionnalité de l'aperçu technologique.
Avec Pipelines as Code, les administrateurs de clusters et les utilisateurs disposant des privilèges requis peuvent définir des modèles de pipelines dans le cadre de dépôts Git de code source. Lorsqu'elle est déclenchée par un push de code source ou une pull request pour le dépôt Git configuré, la fonctionnalité exécute le pipeline et signale son état.
Pipelines as Code prend en charge les fonctionnalités suivantes :
- Statut de la demande d'extraction. Lors de l'itération sur une demande d'extraction, le statut et le contrôle de la demande d'extraction sont exercés sur la plateforme hébergeant le dépôt Git.
- GitHub vérifie l'API pour définir le statut d'une exécution de pipeline, y compris les recontrôles.
- Événements GitHub relatifs aux demandes d'extraction et aux livraisons.
-
Actions de demande d'extraction dans les commentaires, telles que
/retest
. - Filtrage des événements Git et pipeline séparé pour chaque événement.
- Résolution automatique des tâches dans OpenShift Pipelines pour les tâches locales, Tekton Hub, et les URLs distantes.
- Utilisation des blobs et des objets de l'API GitHub pour récupérer les configurations.
-
Liste de contrôle d'accès (ACL) sur une organisation GitHub, ou en utilisant un fichier de type Prow
OWNER
. -
Le plugin
tkn pac
pour l'outil CLItkn
, que vous pouvez utiliser pour gérer les dépôts de Pipelines as Code et le bootstrapping. - Prise en charge de l'application GitHub, de GitHub Webhook, du serveur Bitbucket et de Bitbucket Cloud.
3.1.6.2. Fonctionnalités obsolètes Copier lienLien copié sur presse-papiers!
-
Changement radical : Cette mise à jour supprime les champs
disable-working-directory-overwrite
etdisable-home-env-overwrite
de la ressource personnalisée (CR)TektonConfig
. Par conséquent, la CRTektonConfig
ne définit plus automatiquement la variable d'environnement$HOME
et le paramètreworkingDir
. Vous pouvez toujours définir la variable d'environnement$HOME
et le paramètreworkingDir
en utilisant les champsenv
etworkingDir
dans la définition de ressource personnalisée (CRD)Task
.
-
Le type de définition de ressource personnalisée (CRD)
Conditions
est obsolète et devrait être supprimé dans une prochaine version. Utilisez plutôt l'expression recommandéeWhen
.
-
Changement radical : La ressource
Triggers
valide les modèles et génère une erreur si vous ne spécifiez pas les valeursEventListener
etTriggerBinding
.
3.1.6.3. Problèmes connus Copier lienLien copié sur presse-papiers!
Lorsque vous exécutez des tâches de cluster Maven et Jib-Maven, l'image de conteneur par défaut n'est prise en charge que sur l'architecture Intel (x86). Par conséquent, les tâches échoueront sur les clusters ARM, IBM Power Systems (ppc64le), IBM Z et LinuxONE (s390x). Pour contourner le problème, vous pouvez spécifier une image personnalisée en définissant la valeur du paramètre
MAVEN_IMAGE
surmaven:3.6.3-adoptopenjdk-11
.AstuceAvant d'installer des tâches basées sur le catalogue Tekton sur ARM, IBM Power Systems (ppc64le), IBM Z et LinuxONE (s390x) en utilisant
tkn hub
, vérifiez si la tâche peut être exécutée sur ces plates-formes. Pour vérifier sippc64le
ets390x
sont répertoriés dans la section "Platforms" des informations sur la tâche, vous pouvez exécuter la commande suivante :tkn hub info task <name>
-
Sur IBM Power Systems, IBM Z et LinuxONE, la tâche
s2i-dotnet
cluster n'est pas prise en charge. Vous ne pouvez pas utiliser le flux d'images
nodejs:14-ubi8-minimal
car cela génère les erreurs suivantes :Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Le mappage implicite des paramètres transmet incorrectement les paramètres des définitions de premier niveau
Pipeline
ouPipelineRun
aux tâchestaskRef
. Le mappage ne doit se faire qu'à partir d'une ressource de premier niveau vers des tâches avec des spécifications en lignetaskSpec
. Ce problème n'affecte que les clusters où cette fonctionnalité a été activée en définissant le champenable-api-fields
suralpha
dans la sectionpipeline
de la définition de la ressource personnaliséeTektonConfig
.
3.1.6.4. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Avec cette mise à jour, si des métadonnées telles que
labels
etannotations
sont présentes dans les définitions des objetsPipeline
etPipelineRun
, les valeurs du typePipelineRun
sont prioritaires. Vous pouvez observer un comportement similaire pour les objetsTask
etTaskRun
. -
Avec cette mise à jour, si le champ
timeouts.tasks
ou le champtimeouts.finally
est défini sur0
, le champtimeouts.pipeline
est également défini sur0
. -
Avec cette mise à jour, l'indicateur
-x
set est supprimé des scripts qui n'utilisent pas de shebang. Cette correction réduit les risques de fuite de données lors de l'exécution des scripts. -
Avec cette mise à jour, tout caractère backslash présent dans les noms d'utilisateur des identifiants Git est échappé par un backslash supplémentaire dans le fichier
.gitconfig
.
-
Avec cette mise à jour, la propriété
finalizer
de l'objetEventListener
n'est pas nécessaire pour nettoyer les logs et les cartes de configuration. - Avec cette mise à jour, le client HTTP par défaut associé au serveur d'écoute des événements est supprimé et un client HTTP personnalisé est ajouté. En conséquence, les délais d'attente ont été améliorés.
- Avec cette mise à jour, le rôle de cluster Déclencheurs fonctionne désormais avec les références de propriétaires.
- Avec cette mise à jour, la condition de course dans l'écouteur d'événements ne se produit pas lorsque plusieurs intercepteurs renvoient des extensions.
-
Avec cette mise à jour, la commande
tkn pr delete
n'efface pas les pipelines exécutés avec l'indicateurignore-running
.
- Avec cette mise à jour, les pods de l'opérateur ne continuent pas à redémarrer lorsque vous modifiez les paramètres d'un add-on.
-
Avec cette mise à jour, le pod
tkn serve
CLI est planifié sur les nœuds infra, s'il n'est pas configuré dans les ressources personnalisées d'abonnement et de configuration. - Avec cette mise à jour, les tâches de cluster avec les versions spécifiées ne sont pas supprimées lors de la mise à niveau.
3.1.6.5. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.7.1 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.7.1 est disponible sur OpenShift Container Platform 4.9, 4.10 et 4.11.
3.1.6.5.1. Problèmes corrigés Copier lienLien copié sur presse-papiers!
- Avant cette mise à jour, la mise à niveau de Red Hat OpenShift Pipelines Operator supprimait les données de la base de données associée à Tekton Hub et installait une nouvelle base de données. Avec cette mise à jour, une mise à niveau de l'Opérateur préserve les données.
- Avant cette mise à jour, seuls les administrateurs de cluster pouvaient accéder aux métriques de pipeline dans la console OpenShift Container Platform. Avec cette mise à jour, les utilisateurs ayant d'autres rôles dans le cluster peuvent également accéder aux métriques du pipeline.
-
Avant cette mise à jour, les exécutions de pipeline échouaient pour les pipelines contenant des tâches qui émettent des messages de fin volumineux. Les exécutions de pipeline échouaient parce que la taille totale des messages de fin de tous les conteneurs dans un pod ne peut pas dépasser 12 KB. Avec cette mise à jour, les conteneurs d'initialisation
place-tools
etstep-init
qui utilisent la même image sont fusionnés pour réduire le nombre de conteneurs en cours d'exécution dans le pod de chaque tâche. La solution réduit le risque d'échec des exécutions du pipeline en minimisant le nombre de conteneurs en cours d'exécution dans le pod d'une tâche. Cependant, elle ne supprime pas la limitation de la taille maximale autorisée d'un message de fin. -
Avant cette mise à jour, les tentatives d'accès aux URL de ressources directement depuis la console web Tekton Hub entraînaient une erreur Nginx
404
. Avec cette mise à jour, l'image de la console web Tekton Hub est corrigée pour permettre l'accès aux URLs des ressources directement depuis la console web Tekton Hub. - Avant cette mise à jour, la tâche d'élagage des ressources créait un conteneur distinct pour chaque espace de noms afin d'élaguer les ressources. Avec cette mise à jour, la tâche d'élagage des ressources exécute les commandes pour tous les espaces de noms en boucle dans un seul conteneur.
3.1.6.6. Notes de mise à jour pour Red Hat OpenShift Pipelines General Availability 1.7.2 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.7.2 est disponible sur OpenShift Container Platform 4.9, 4.10, et la version à venir.
3.1.6.6.1. Problèmes connus Copier lienLien copié sur presse-papiers!
-
La carte de configuration
chains-config
pour les chaînes Tekton dans l'espace de nomsopenshift-pipelines
est automatiquement réinitialisée par défaut après la mise à niveau de Red Hat OpenShift Pipelines Operator. Actuellement, il n'y a pas de solution de contournement pour ce problème.
3.1.6.6.2. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Avant cette mise à jour, les tâches sur OpenShift Pipelines 1.7.1 échouaient lors de l'utilisation de
init
comme premier argument, suivi de deux arguments ou plus. Avec cette mise à jour, les drapeaux sont analysés correctement et les tâches sont exécutées avec succès. Avant cette mise à jour, l'installation de Red Hat OpenShift Pipelines Operator sur OpenShift Container Platform 4.9 et 4.10 échouait en raison d'une liaison de rôle non valide, avec le message d'erreur suivant :
error updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleRef
error updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleRef
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Avec cette mise à jour, l'opérateur Red Hat OpenShift Pipelines s'installe avec des espaces de noms de liaison de rôle distincts pour éviter les conflits avec l'installation d'autres opérateurs.
Avant cette mise à jour, la mise à niveau de l'opérateur entraînait la réinitialisation de la clé secrète
signing-secrets
pour les chaînes Tekton à sa valeur par défaut. Avec cette mise à jour, la clé secrète personnalisée persiste après la mise à niveau de l'opérateur.NoteLa mise à niveau vers Red Hat OpenShift Pipelines 1.7.2 réinitialise la clé. Cependant, lorsque vous mettez à niveau vers des versions ultérieures, la clé est censée persister.
Avant cette mise à jour, toutes les tâches de construction de S2I échouaient avec une erreur similaire au message suivant :
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Avec cette mise à jour, la contrainte de contexte de sécurité (SCC) de
pipelines-scc
est compatible avec la capacité deSETFCAP
nécessaire pour les tâches de cluster deBuildah
etS2I
. Par conséquent, les tâches de constructionBuildah
etS2I
peuvent être exécutées avec succès.Pour exécuter avec succès la tâche de cluster
Buildah
et les tâches de constructionS2I
pour les applications écrites dans différents langages et frameworks, ajoutez l'extrait suivant pour les objetssteps
appropriés tels quebuild
etpush
:securityContext: capabilities: add: ["SETFCAP"]
securityContext: capabilities: add: ["SETFCAP"]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.6.7. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.7.3 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.7.3 est disponible sur OpenShift Container Platform 4.9, 4.10 et 4.11.
3.1.6.7.1. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Avant cette mise à jour, l'opérateur échouait lors de la création de ressources RBAC si un espace de noms était dans l'état
Terminating
. Avec cette mise à jour, l'opérateur ignore les espaces de noms dans l'étatTerminating
et crée les ressources RBAC. -
Auparavant, la mise à niveau de Red Hat OpenShift Pipelines Operator entraînait la recréation du compte de service
pipeline
, ce qui signifiait que les secrets liés au compte de service étaient perdus. Cette mise à jour corrige ce problème. Lors des mises à niveau, l'Opérateur ne recrée plus le compte de servicepipeline
. Par conséquent, les secrets liés au compte de servicepipeline
persistent après les mises à niveau, et les ressources (tâches et pipelines) continuent de fonctionner correctement.
3.1.7. Notes de mise à jour pour Red Hat OpenShift Pipelines General Availability 1.6 Copier lienLien copié sur presse-papiers!
Avec cette mise à jour, Red Hat OpenShift Pipelines General Availability (GA) 1.6 est disponible sur OpenShift Container Platform 4.9.
3.1.7.1. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
En plus des corrections et des améliorations de la stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.6.
-
Avec cette mise à jour, vous pouvez configurer la commande
start
d'un pipeline ou d'une tâche pour qu'elle renvoie une chaîne formatée YAML ou JSON en utilisant l'option--output <string>
, où<string>
estyaml
oujson
. Sinon, sans l'option--output
, la commandestart
renvoie un message convivial difficile à analyser par d'autres programmes. Le renvoi d'une chaîne au format YAML ou JSON est utile pour les environnements d'intégration continue (CI). Par exemple, après la création d'une ressource, vous pouvez utiliseryq
oujq
pour analyser le message au format YAML ou JSON concernant la ressource et attendre que cette ressource soit terminée sans utiliser l'optionshowlog
. -
Avec cette mise à jour, vous pouvez vous authentifier auprès d'un registre en utilisant le fichier d'authentification
auth.json
de Podman. Par exemple, vous pouvez utilisertkn bundle push
pour pousser vers un registre distant en utilisant Podman au lieu de Docker CLI. -
Avec cette mise à jour, si vous utilisez la commande
tkn [taskrun | pipelinerun] delete --all
, vous pouvez conserver les exécutions datant de moins d'un certain nombre de minutes en utilisant la nouvelle option--keep-since <minutes>
. Par exemple, pour conserver les exécutions datant de moins de cinq minutes, vous devez saisirtkn [taskrun | pipelinerun] delete -all --keep-since 5
. -
Avec cette mise à jour, lorsque vous supprimez des exécutions de tâches ou des exécutions de pipeline, vous pouvez utiliser les options
--parent-resource
et--keep-since
en même temps. Par exemple, la commandetkn pipelinerun delete --pipeline pipelinename --keep-since 5
préserve les exécutions de pipeline dont la ressource parente est nomméepipelinename
et dont l'ancienneté est inférieure ou égale à cinq minutes. Les commandestkn tr delete -t <taskname> --keep-since 5
ettkn tr delete --clustertask <taskname> --keep-since 5
fonctionnent de la même manière pour les exécutions de tâches. -
Cette mise à jour ajoute la prise en charge des ressources de déclenchement pour qu'elles fonctionnent avec les ressources
v1beta1
.
-
Cette mise à jour ajoute une option
ignore-running
aux commandestkn pipelinerun delete
ettkn taskrun delete
. -
Cette mise à jour ajoute une sous-commande
create
aux commandestkn task
ettkn clustertask
. -
Avec cette mise à jour, lorsque vous utilisez la commande
tkn pipelinerun delete --all
, vous pouvez utiliser la nouvelle option--label <string>
pour filtrer les parcours du pipeline par étiquette. Vous pouvez également utiliser l'option--label
avec=
et==
comme opérateurs d'égalité, ou!=
comme opérateur d'inégalité. Par exemple, les commandestkn pipelinerun delete --all --label asdf
ettkn pipelinerun delete --all --label==asdf
suppriment toutes deux toutes les séries de pipelines portant le labelasdf
. - Avec cette mise à jour, vous pouvez récupérer la version des composants Tekton installés à partir de la carte de configuration ou, si la carte de configuration n'est pas présente, à partir du contrôleur de déploiement.
-
Avec cette mise à jour, les déclencheurs prennent en charge les cartes de configuration
feature-flags
etconfig-defaults
pour configurer les drapeaux des fonctionnalités et définir les valeurs par défaut, respectivement. -
Cette mise à jour ajoute une nouvelle métrique,
eventlistener_event_count
, que vous pouvez utiliser pour compter les événements reçus par la ressourceEventListener
. Cette mise à jour ajoute les types d'API
v1beta1
Go. Avec cette mise à jour, les déclencheurs prennent désormais en charge la version de l'APIv1beta1
.Avec la version actuelle, les fonctionnalités de
v1alpha1
sont désormais obsolètes et seront supprimées dans une prochaine version. Commencez à utiliser les fonctionnalités dev1beta1
à la place.
Dans la version actuelle, l'exécution automatique des ressources est activée par défaut. En outre, vous pouvez configurer l'exécution automatique des tâches et des pipelines pour chaque espace de noms séparément, en utilisant les nouvelles annotations suivantes :
-
operator.tekton.dev/prune.schedule
: Si la valeur de cette annotation est différente de la valeur spécifiée dans la définition de la ressource personnaliséeTektonConfig
, un nouveau travail cron est créé dans cet espace de noms. -
operator.tekton.dev/prune.skip
: Lorsqu'il est défini surtrue
, l'espace de noms pour lequel il est configuré ne sera pas élagué. -
operator.tekton.dev/prune.resources
: Cette annotation accepte une liste de ressources séparées par des virgules. Pour élaguer une seule ressource, telle qu'une exécution de pipeline, définissez cette annotation à"pipelinerun"
. Pour élaguer plusieurs ressources, telles qu'une exécution de tâche et une exécution de pipeline, définissez cette annotation à"taskrun, pipelinerun"
. -
operator.tekton.dev/prune.keep
: Utilisez cette annotation pour conserver une ressource sans l'élaguer. operator.tekton.dev/prune.keep-since
: Cette annotation permet de conserver les ressources en fonction de leur âge. La valeur de cette annotation doit être égale à l'âge de la ressource en minutes. Par exemple, pour conserver les ressources qui ont été créées il y a cinq jours au maximum, définissezkeep-since
sur7200
.NoteLes annotations
keep
etkeep-since
s'excluent mutuellement. Pour toute ressource, vous ne devez configurer qu'une seule d'entre elles.-
operator.tekton.dev/prune.strategy
: Fixer la valeur de cette annotation àkeep
oukeep-since
.
-
-
Les administrateurs peuvent désactiver la création du compte de service
pipeline
pour l'ensemble du cluster, et empêcher l'escalade des privilèges par une mauvaise utilisation du SCC associé, qui est très similaire àanyuid
. -
Vous pouvez désormais configurer les drapeaux de fonctionnalité et les composants en utilisant la ressource personnalisée (CR)
TektonConfig
et les CR pour les composants individuels, tels queTektonPipeline
etTektonTriggers
. Ce niveau de granularité permet de personnaliser et de tester des fonctionnalités alpha telles que le Tekton OCI bundle pour des composants individuels. -
Vous pouvez désormais configurer le champ optionnel
Timeouts
pour la ressourcePipelineRun
. Par exemple, vous pouvez configurer des délais séparément pour l'exécution d'un pipeline, l'exécution de chaque tâche et les tâchesfinally
. -
Les pods générés par la ressource
TaskRun
définissent désormais le champactiveDeadlineSeconds
des pods. Cela permet à OpenShift de les considérer comme terminés, et vous permet d'utiliser l'objet spécifiquement scopedResourceQuota
pour les pods. - Vous pouvez utiliser les cartes de configuration pour éliminer les balises de métriques ou les types d'étiquettes sur une exécution de tâche, une exécution de pipeline, une tâche et un pipeline. En outre, vous pouvez configurer différents types de métriques pour mesurer la durée, tels qu'un histogramme, une jauge ou la dernière valeur.
-
Vous pouvez définir les demandes et les limites d'un pod de manière cohérente, car Tekton prend désormais entièrement en charge l'objet
LimitRange
en tenant compte des champsMin
,Max
,Default
etDefaultRequest
. Les fonctionnalités alpha suivantes sont introduites :
L'exécution d'un pipeline peut maintenant s'arrêter après l'exécution des tâches
finally
, plutôt que d'arrêter directement l'exécution de toutes les tâches comme c'était le cas auparavant. Cette mise à jour ajoute les valeursspec.status
suivantes :-
StoppedRunFinally
arrêtera les tâches en cours d'exécution une fois qu'elles seront terminées, puis exécutera les tâchesfinally
. -
CancelledRunFinally
annulera immédiatement les tâches en cours, puis exécutera les tâchesfinally
. Cancelled
conservera le comportement antérieur fourni par le statutPipelineRunCancelled
.NoteLe statut
Cancelled
remplace le statutPipelineRunCancelled
, qui est obsolète et qui sera supprimé dans la versionv1
.
-
-
Vous pouvez désormais utiliser la commande
oc debug
pour mettre une tâche en mode débogage, ce qui met l'exécution en pause et vous permet d'inspecter des étapes spécifiques d'un module. -
Lorsque vous attribuez la valeur
continue
au champonError
d'une étape, le code de sortie de l'étape est enregistré et transmis aux étapes suivantes. Toutefois, l'exécution de la tâche n'échoue pas et l'exécution des autres étapes de la tâche se poursuit. Pour conserver le comportement existant, vous pouvez attribuer au champonError
la valeurstopAndFail
. - Les tâches peuvent désormais accepter plus de paramètres qu'elles n'en utilisent réellement. Lorsque l'option alpha est activée, les paramètres peuvent se propager implicitement aux spécifications intégrées. Par exemple, une tâche intégrée peut accéder aux paramètres de son pipeline parent, sans définir explicitement chaque paramètre pour la tâche.
-
Si vous activez l'indicateur pour les caractéristiques alpha, les conditions des expressions
When
ne s'appliqueront qu'à la tâche à laquelle elle est directement associée, et non aux dépendances de la tâche. Pour appliquer les expressionsWhen
à la tâche associée et à ses dépendances, vous devez associer l'expression à chaque tâche dépendante séparément. Notez qu'à l'avenir, ce sera le comportement par défaut des expressionsWhen
dans toutes les nouvelles versions API de Tekton. Le comportement par défaut existant sera supprimé en faveur de cette mise à jour.
La version actuelle vous permet de configurer la sélection des nœuds en spécifiant les valeurs
nodeSelector
ettolerations
dans la ressource personnalisée (CR)TektonConfig
. L'opérateur ajoute ces valeurs à tous les déploiements qu'il crée.-
Pour configurer la sélection des nœuds pour le contrôleur de l'opérateur et le déploiement des webhooks, vous devez modifier les champs
config.nodeSelector
etconfig.tolerations
dans la spécification deSubscription
CR, après avoir installé l'opérateur. -
Pour déployer le reste des pods du plan de contrôle d'OpenShift Pipelines sur un nœud d'infrastructure, mettez à jour le CR
TektonConfig
avec les champsnodeSelector
ettolerations
. Les modifications sont ensuite appliquées à tous les pods créés par Operator.
-
Pour configurer la sélection des nœuds pour le contrôleur de l'opérateur et le déploiement des webhooks, vous devez modifier les champs
3.1.7.2. Fonctionnalités obsolètes Copier lienLien copié sur presse-papiers!
-
Dans le CLI 0.21.0, la prise en charge de toutes les ressources
v1alpha1
pour les commandesclustertask
,task
,taskrun
,pipeline
, etpipelinerun
est obsolète. Ces ressources sont désormais obsolètes et seront supprimées dans une prochaine version.
Dans la version 0.16.0 de Tekton Triggers, l'étiquette redondante
status
est supprimée des métriques de la ressourceEventListener
.ImportantChangement radical : Le label
status
a été supprimé de la métriqueeventlistener_http_duration_seconds_*
. Supprimez les requêtes basées sur le labelstatus
.-
Avec la version actuelle, les fonctionnalités de
v1alpha1
sont désormais obsolètes et seront supprimées dans une prochaine version. Avec cette mise à jour, vous pouvez commencer à utiliser les types d'APIv1beta1
Go à la place. Les déclencheurs prennent désormais en charge la version de l'APIv1beta1
. Avec la version actuelle, la ressource
EventListener
envoie une réponse avant que les déclencheurs ne terminent leur traitement.ImportantChangement de rupture : Avec cette modification, la ressource
EventListener
ne répond plus avec un code d'état201 Created
lorsqu'elle crée des ressources. Au lieu de cela, elle répond avec un code de réponse202 Accepted
.La version actuelle supprime le champ
podTemplate
de la ressourceEventListener
.ImportantChangement radical : Le champ
podTemplate
, qui a été supprimé dans le cadre de #1100, a été supprimé.La version actuelle supprime le champ
replicas
, obsolète, de la spécification de la ressourceEventListener
.ImportantChangement radical : Le champ
replicas
, obsolète, a été supprimé.
Dans Red Hat OpenShift Pipelines 1.6, les valeurs de
HOME="/tekton/home"
etworkingDir="/workspace"
sont supprimées de la spécification des objetsStep
.Au lieu de cela, Red Hat OpenShift Pipelines définit
HOME
etworkingDir
aux valeurs définies par les conteneurs exécutant les objetsStep
. Vous pouvez remplacer ces valeurs dans la spécification de vos objetsStep
.Pour utiliser l'ancien comportement, vous pouvez remplacer les champs
disable-working-directory-overwrite
etdisable-home-env-overwrite
de la CRTektonConfig
parfalse
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ImportantLes champs
disable-working-directory-overwrite
etdisable-home-env-overwrite
de la CRTektonConfig
sont désormais obsolètes et seront supprimés dans une prochaine version.
3.1.7.3. Problèmes connus Copier lienLien copié sur presse-papiers!
-
Lorsque vous exécutez des tâches de cluster Maven et Jib-Maven, l'image de conteneur par défaut n'est prise en charge que sur l'architecture Intel (x86). Par conséquent, les tâches échoueront sur les clusters IBM Power Systems (ppc64le), IBM Z et LinuxONE (s390x). Pour contourner ce problème, vous pouvez spécifier une image personnalisée en définissant la valeur du paramètre
MAVEN_IMAGE
surmaven:3.6.3-adoptopenjdk-11
. -
Sur IBM Power Systems, IBM Z et LinuxONE, la tâche
s2i-dotnet
cluster n'est pas prise en charge. -
Avant d'installer des tâches basées sur le catalogue Tekton sur IBM Power Systems (ppc64le), IBM Z et LinuxONE (s390x) à l'aide de
tkn hub
, vérifiez si la tâche peut être exécutée sur ces plates-formes. Pour vérifier sippc64le
ets390x
sont listés dans la section "Platforms" des informations sur la tâche, vous pouvez exécuter la commande suivante :tkn hub info task <name>
Vous ne pouvez pas utiliser le flux d'images
nodejs:14-ubi8-minimal
car cela génère les erreurs suivantes :Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.7.4. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
La commande
tkn hub
est désormais prise en charge sur les systèmes IBM Power, IBM Z et LinuxONE.
-
Avant cette mise à jour, le terminal n'était pas disponible après que l'utilisateur ait exécuté une commande
tkn
, et l'exécution du pipeline était terminée, même siretries
était spécifié. La spécification d'un délai d'attente dans l'exécution de la tâche ou du pipeline n'avait aucun effet. Cette mise à jour corrige le problème afin que le terminal soit disponible après l'exécution de la commande. -
Avant cette mise à jour, l'exécution de
tkn pipelinerun delete --all
supprimait toutes les ressources. Cette mise à jour empêche la suppression des ressources en cours d'exécution. -
Avant cette mise à jour, l'utilisation de la commande
tkn version --component=<component>
ne renvoyait pas la version du composant. Cette mise à jour corrige le problème de sorte que cette commande renvoie la version du composant. -
Avant cette mise à jour, lorsque vous utilisiez la commande
tkn pr logs
, elle affichait les journaux de sortie des pipelines dans le mauvais ordre des tâches. Cette mise à jour résout le problème de sorte que les journaux dePipelineRuns
sont répertoriés dans l'ordre d'exécution approprié deTaskRun
.
-
Avant cette mise à jour, la modification de la spécification d'un pipeline en cours d'exécution pouvait empêcher l'exécution du pipeline de s'arrêter lorsqu'elle était terminée. Cette mise à jour corrige le problème en ne récupérant la définition qu'une seule fois et en utilisant ensuite la spécification stockée dans l'état pour la vérification. Cette modification réduit la probabilité d'une condition de course lorsqu'un
PipelineRun
ou unTaskRun
fait référence à unPipeline
ou unTask
qui change pendant l'exécution. -
When
les valeurs d'expression peuvent désormais contenir des références à des paramètres de type tableau, comme par exemple :values: [$(params.arrayParam[*])]
.
3.1.7.5. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.6.1 Copier lienLien copié sur presse-papiers!
3.1.7.5.1. Problèmes connus Copier lienLien copié sur presse-papiers!
Après la mise à niveau vers Red Hat OpenShift Pipelines 1.6.1 à partir d'une version plus ancienne, OpenShift Pipelines peut entrer dans un état incohérent dans lequel vous ne pouvez pas effectuer d'opérations (créer/supprimer/appliquer) sur les ressources Tekton (tâches et pipelines). Par exemple, lors de la suppression d'une ressource, vous pouvez rencontrer l'erreur suivante :
Error from server (InternalError): Internal error occurred: failed calling webhook "validation.webhook.pipeline.tekton.dev": Post "https://tekton-pipelines-webhook.openshift-pipelines.svc:443/resource-validation?timeout=10s": service "tekton-pipelines-webhook" not found.
Error from server (InternalError): Internal error occurred: failed calling webhook "validation.webhook.pipeline.tekton.dev": Post "https://tekton-pipelines-webhook.openshift-pipelines.svc:443/resource-validation?timeout=10s": service "tekton-pipelines-webhook" not found.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.7.5.2. Problèmes corrigés Copier lienLien copié sur presse-papiers!
La variable d'environnement
SSL_CERT_DIR
(/tekton-custom-certs
) définie par Red Hat OpenShift Pipelines ne remplacera pas les répertoires système par défaut suivants par des fichiers de certificats :-
/etc/pki/tls/certs
-
/etc/ssl/certs
-
/system/etc/security/cacerts
-
- L'Horizontal Pod Autoscaler peut gérer le nombre de répliques des déploiements contrôlés par Red Hat OpenShift Pipelines Operator. À partir de cette version, si le compte est modifié par un utilisateur final ou un agent sur le cluster, Red Hat OpenShift Pipelines Operator ne réinitialisera pas le compte de répliques des déploiements qu'il gère. Cependant, les répliques seront réinitialisées lorsque vous mettrez à niveau le Red Hat OpenShift Pipelines Operator.
-
Le pod qui sert le CLI
tkn
sera désormais programmé sur des nœuds, en fonction du sélecteur de nœuds et des limites de tolérance spécifiées dans la ressource personnaliséeTektonConfig
.
3.1.7.6. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.6.2 Copier lienLien copié sur presse-papiers!
3.1.7.6.1. Problèmes connus Copier lienLien copié sur presse-papiers!
-
Lorsque vous créez un nouveau projet, la création du compte de service
pipeline
est retardée, et la suppression des tâches de cluster et des modèles de pipeline existants prend plus de 10 minutes.
3.1.7.6.2. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Avant cette mise à jour, plusieurs instances d'ensembles d'installation Tekton étaient créées pour un pipeline après la mise à niveau vers Red Hat OpenShift Pipelines 1.6.1 à partir d'une version plus ancienne. Avec cette mise à jour, l'opérateur s'assure qu'une seule instance de chaque type de
TektonInstallerSet
existe après une mise à niveau. - Avant cette mise à jour, tous les réconciliateurs de l'Opérateur utilisaient la version du composant pour décider de la recréation des ressources lors d'une mise à niveau vers Red Hat OpenShift Pipelines 1.6.1 à partir d'une version plus ancienne. Par conséquent, les ressources dont la version des composants n'a pas changé lors de la mise à niveau n'ont pas été recréées. Avec cette mise à jour, l'opérateur utilise la version de l'opérateur au lieu de la version du composant pour décider de la recréation des ressources lors d'une mise à niveau.
- Avant cette mise à jour, le service pipelines webhook était absent du cluster après une mise à jour. Cela était dû à un blocage de la mise à jour sur les cartes de configuration. Avec cette mise à jour, un mécanisme est ajouté pour désactiver la validation du webhook si les cartes de configuration sont absentes dans le cluster. Par conséquent, le service pipelines webhook persiste dans le cluster après une mise à jour.
- Avant cette mise à jour, les tâches cron pour l'élagage automatique étaient recréées après tout changement de configuration de l'espace de noms. Avec cette mise à jour, les tâches cron pour l'élagage automatique ne sont recréées que s'il y a un changement d'annotation pertinent dans l'espace de noms.
La version amont de Tekton Pipelines est révisée en
v0.28.3
, qui comporte les corrections suivantes :-
Correction des objets
PipelineRun
ouTaskRun
pour permettre la propagation des étiquettes ou des annotations. Pour les paramètres implicites :
-
Ne pas appliquer les paramètres de
PipelineSpec
à l'objetTaskRefs
. -
Désactive le comportement param implicite pour les objets
Pipeline
.
-
Ne pas appliquer les paramètres de
-
Correction des objets
3.1.7.7. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.6.3 Copier lienLien copié sur presse-papiers!
3.1.7.7.1. Problèmes corrigés Copier lienLien copié sur presse-papiers!
Avant cette mise à jour, l'Opérateur Red Hat OpenShift Pipelines installait des politiques de sécurité de pods à partir de composants tels que Pipelines et Triggers. Cependant, les politiques de sécurité de pods livrées dans le cadre des composants ont été dépréciées dans une version antérieure. Avec cette mise à jour, l'opérateur arrête d'installer des politiques de sécurité de pods à partir de composants. Par conséquent, les chemins de mise à niveau suivants sont concernés :
- La mise à jour d'OpenShift Pipelines 1.6.1 ou 1.6.2 vers OpenShift Pipelines 1.6.3 supprime les politiques de sécurité des pods, y compris celles des composants Pipelines et Triggers.
La mise à niveau d'OpenShift Pipelines 1.5.x vers 1.6.3 conserve les politiques de sécurité des pods installées à partir des composants. En tant qu'administrateur de cluster, vous pouvez les supprimer manuellement.
NoteLorsque vous mettez à niveau vers des versions ultérieures, l'Opérateur Red Hat OpenShift Pipelines supprimera automatiquement toutes les politiques de sécurité de pods obsolètes.
- Avant cette mise à jour, seuls les administrateurs de cluster pouvaient accéder aux métriques de pipeline dans la console OpenShift Container Platform. Avec cette mise à jour, les utilisateurs ayant d'autres rôles dans le cluster peuvent également accéder aux métriques du pipeline.
- Avant cette mise à jour, des problèmes de contrôle d'accès basé sur les rôles (RBAC) avec l'opérateur OpenShift Pipelines causaient des problèmes de mise à niveau ou d'installation de composants. Cette mise à jour améliore la fiabilité et la cohérence de l'installation de divers composants Red Hat OpenShift Pipelines.
-
Avant cette mise à jour, le fait de définir les champs
clusterTasks
etpipelineTemplates
surfalse
dans le CRTektonConfig
ralentissait la suppression des tâches en grappe et des modèles de pipeline. Cette mise à jour améliore la vitesse de gestion du cycle de vie des ressources Tekton telles que les tâches de cluster et les modèles de pipeline.
3.1.7.8. Notes de version pour Red Hat OpenShift Pipelines General Availability 1.6.4 Copier lienLien copié sur presse-papiers!
3.1.7.8.1. Problèmes connus Copier lienLien copié sur presse-papiers!
Après la mise à niveau de Red Hat OpenShift Pipelines 1.5.2 vers 1.6.4, l'accès aux routes d'écoute d'événements renvoie une erreur
503
.Solution : Modifiez le port cible dans le fichier YAML pour la route de l'écouteur d'événements.
Extraire le nom de la route pour l'espace de noms concerné.
oc get route -n <namespace>
$ oc get route -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Editer l'itinéraire pour modifier la valeur du champ
targetPort
.oc edit route -n <namespace> <el-route_name>
$ oc edit route -n <namespace> <el-route_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple : Route d'écoute d'événements existante
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple : Modification de l'itinéraire de l'auditeur d'événements
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.7.8.2. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Avant cette mise à jour, l'opérateur échouait lors de la création de ressources RBAC si un espace de noms était dans l'état
Terminating
. Avec cette mise à jour, l'opérateur ignore les espaces de noms dans l'étatTerminating
et crée les ressources RBAC. - Avant cette mise à jour, les tâches échouaient ou redémarraient en raison de l'absence d'annotation spécifiant la version du contrôleur Tekton associé. Avec cette mise à jour, l'inclusion des annotations appropriées est automatisée et les tâches s'exécutent sans échec ni redémarrage.
3.1.8. Notes de mise à jour pour Red Hat OpenShift Pipelines General Availability 1.5 Copier lienLien copié sur presse-papiers!
Red Hat OpenShift Pipelines General Availability (GA) 1.5 est désormais disponible sur OpenShift Container Platform 4.8.
3.1.8.1. Matrice de compatibilité et de soutien Copier lienLien copié sur presse-papiers!
Certaines fonctionnalités de cette version sont actuellement en avant-première technologique. Ces fonctionnalités expérimentales ne sont pas destinées à être utilisées en production.
Dans le tableau, les caractéristiques sont marquées par les statuts suivants :
TP | Avant-première technologique |
GA | Disponibilité générale |
Notez l'étendue de l'assistance suivante sur le portail client de Red Hat pour ces fonctionnalités :
Fonctionnalité | Version | Statut de soutien |
---|---|---|
Pipelines | 0.24 | GA |
CLI | 0.19 | GA |
Catalogue | 0.24 | GA |
Déclencheurs | 0.14 | TP |
Ressources en gazoducs | - | TP |
Pour toute question ou commentaire, vous pouvez envoyer un courriel à l'équipe produit à l'adresse pipelines-interest@redhat.com.
3.1.8.2. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
En plus des corrections et des améliorations de la stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.5.
Les exécutions de pipelines et de tâches seront automatiquement élaguées par une tâche cron dans l'espace de noms cible. La tâche cron utilise la variable d'environnement
IMAGE_JOB_PRUNER_TKN
pour obtenir la valeur detkn image
. Avec cette amélioration, les champs suivants sont introduits dans la ressource personnaliséeTektonConfig
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans OpenShift Container Platform, vous pouvez personnaliser l'installation du composant Tekton Add-ons en modifiant les valeurs des nouveaux paramètres
clusterTasks
etpipelinesTemplates
dans la ressource personnaliséeTektonConfig
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow La personnalisation est possible si vous créez le module complémentaire à l'aide de
TektonConfig
ou directement à l'aide de Tekton Add-ons. Toutefois, si les paramètres ne sont pas transmis, le contrôleur ajoute des paramètres avec des valeurs par défaut.Note-
Si le module complémentaire est créé à l'aide de la ressource personnalisée
TektonConfig
et que vous modifiez ultérieurement les valeurs des paramètres dans la ressource personnaliséeAddon
, les valeurs de la ressource personnaliséeTektonConfig
remplacent les modifications. -
Vous ne pouvez définir la valeur du paramètre
pipelinesTemplates
surtrue
que si la valeur du paramètreclusterTasks
esttrue
.
-
Si le module complémentaire est créé à l'aide de la ressource personnalisée
Le paramètre
enableMetrics
est ajouté à la ressource personnaliséeTektonConfig
. Vous pouvez l'utiliser pour désactiver le moniteur de service, qui fait partie de Tekton Pipelines pour OpenShift Container Platform.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Les métriques OpenCensus d'Eventlistener, qui capturent les métriques au niveau du processus, sont ajoutées.
- Les déclencheurs disposent désormais d'un sélecteur d'étiquettes ; vous pouvez configurer les déclencheurs d'un auditeur d'événements à l'aide d'étiquettes.
La définition de la ressource personnalisée
ClusterInterceptor
pour l'enregistrement des intercepteurs a été ajoutée, ce qui vous permet d'enregistrer de nouveaux typesInterceptor
que vous pouvez ajouter. En outre, les modifications suivantes ont été apportées :-
Dans les spécifications du déclencheur, vous pouvez configurer les intercepteurs à l'aide d'une nouvelle API qui comprend un champ
ref
pour faire référence à un intercepteur de cluster. En outre, vous pouvez utiliser le champparams
pour ajouter des paramètres qui seront transmis aux intercepteurs pour traitement. -
Les intercepteurs intégrés CEL, GitHub, GitLab et BitBucket ont été migrés. Ils sont mis en œuvre à l'aide de la nouvelle définition de ressource personnalisée
ClusterInterceptor
. -
Les intercepteurs de base sont migrés vers le nouveau format et tous les nouveaux déclencheurs créés à l'aide de l'ancienne syntaxe passent automatiquement à la nouvelle syntaxe basée sur
ref
ouparams
.
-
Dans les spécifications du déclencheur, vous pouvez configurer les intercepteurs à l'aide d'une nouvelle API qui comprend un champ
-
Pour désactiver le préfixe du nom de la tâche ou de l'étape lors de l'affichage des journaux, utilisez l'option
--prefix
pour les commandeslog
. -
Pour afficher la version d'un composant spécifique, utilisez le nouvel indicateur
--component
dans la commandetkn version
. -
La commande
tkn hub check-upgrade
a été ajoutée et d'autres commandes ont été révisées pour être basées sur la version du pipeline. En outre, les noms des catalogues sont affichés dans la sortie de la commandesearch
. -
La prise en charge des espaces de travail optionnels a été ajoutée à la commande
start
. -
Si les plugins ne sont pas présents dans le répertoire
plugins
, ils sont recherchés dans le chemin courant. La commande
tkn start [task | clustertask | pipeline]
démarre de manière interactive et demande la valeurparams
, même si les paramètres par défaut sont spécifiés. Pour arrêter les invites interactives, passez le drapeau--use-param-defaults
au moment de l'invocation de la commande. Par exemple :Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Le champ
version
est ajouté dans la commandetkn task describe
. -
L'option permettant de sélectionner automatiquement des ressources telles que
TriggerTemplate
, ouTriggerBinding
, ouClusterTriggerBinding
, ouEventlistener
, est ajoutée dans la commandedescribe
, si une seule est présente. -
Dans la commande
tkn pr describe
, une section pour les tâches ignorées a été ajoutée. -
La prise en charge du site
tkn clustertask logs
a été ajoutée. -
La fusion YAML et la variable de
config.yaml
sont supprimées. En outre, le fichierrelease.yaml
peut désormais être utilisé plus facilement par des outils tels quekustomize
etytt
. - La prise en charge des noms de ressources contenant le caractère point (".") a été ajoutée.
-
Le tableau
hostAliases
de la spécificationPodTemplate
est ajouté à l'annulation de la résolution des noms d'hôtes au niveau du pod. Il est obtenu en modifiant le fichier/etc/hosts
. -
Une variable
$(tasks.status)
est introduite pour accéder à l'état d'exécution global des tâches. - Un point d'entrée binaire pour Windows a été ajouté.
3.1.8.3. Fonctionnalités obsolètes Copier lienLien copié sur presse-papiers!
Dans les expressions
when
, la prise en charge des champs écrits en PascalCase est supprimée. Les expressionswhen
ne prennent en charge que les champs écrits en minuscules.NoteSi vous avez appliqué un pipeline avec des expressions
when
dans Tekton Pipelinesv0.16
(Operatorv1.2.x
), vous devez le réappliquer.Lorsque vous mettez à niveau Red Hat OpenShift Pipelines Operator vers
v1.5
, les tâches de clusteropenshift-client
etopenshift-client-v-1-5-0
ont le paramètreSCRIPT
. Cependant, le paramètreARGS
et la ressourcegit
sont supprimés de la spécification de la tâche de clusteropenshift-client
. Il s'agit d'un changement radical, et seules les tâches de cluster qui n'ont pas de version spécifique dans le champname
de la ressourceClusterTask
sont mises à niveau de manière transparente.Pour éviter que le pipeline ne s'interrompe, utilisez le paramètre
SCRIPT
après la mise à niveau, car il déplace les valeurs précédemment spécifiées dans le paramètreARGS
vers le paramètreSCRIPT
de la tâche de cluster. Par exemple :Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsque vous mettez à niveau Red Hat OpenShift Pipelines Operator
v1.4
versv1.5
, les noms de profil dans lesquels la ressource personnaliséeTektonConfig
est installée changent désormais.Expand Tableau 3.3. Profils pour TektonConfig ressource personnalisée Profils dans les pipelines 1.5 Profil correspondant dans Pipelines 1.4 Installation des composants Tekton Tous (default profile)
Tous (default profile)
Pipelines, déclencheurs, modules complémentaires
De base
Défaut
Pipelines, déclencheurs
Lite
De base
Pipelines
NoteSi vous avez utilisé
profile: all
dans l'instanceconfig
de la ressource personnaliséeTektonConfig
, aucune modification n'est nécessaire dans la spécification de la ressource.Toutefois, si l'opérateur installé est dans le profil Default ou Basic avant la mise à niveau, vous devez modifier l'instance
config
de la ressource personnaliséeTektonConfig
après la mise à niveau. Par exemple, si la configuration étaitprofile: basic
avant la mise à niveau, assurez-vous qu'elle estprofile: lite
après la mise à niveau vers Pipelines 1.5.Les champs
disable-home-env-overwrite
etdisable-working-dir-overwrite
sont désormais obsolètes et seront supprimés dans une prochaine version. Pour cette version, la valeur par défaut de ces drapeaux est fixée àtrue
pour des raisons de compatibilité ascendante.NoteDans la prochaine version (Red Hat OpenShift Pipelines 1.6), la variable d'environnement
HOME
ne sera pas automatiquement définie à/tekton/home
, et le répertoire de travail par défaut ne sera pas défini à/workspace
pour les exécutions de tâches. Ces valeurs par défaut entrent en conflit avec toute valeur définie par l'image Dockerfile de l'étape.-
Les champs
ServiceType
etpodTemplate
sont supprimés de la spécificationEventListener
. - Le compte de service du contrôleur ne demande plus l'autorisation de lister et de surveiller les espaces de noms à l'échelle du cluster.
Le statut de la ressource
EventListener
est assorti d'une nouvelle condition appeléeReady
.NoteÀ l'avenir, les autres conditions d'état de la ressource
EventListener
seront supprimées au profit de la condition d'étatReady
.-
Les champs
eventListener
etnamespace
de la réponseEventListener
sont obsolètes. Utilisez plutôt le champeventListenerUID
. Le champ
replicas
est obsolète dans la spécificationEventListener
. Le champspec.replicas
est déplacé versspec.resources.kubernetesResource.replicas
dans la spécificationKubernetesResource
.NoteLe champ
replicas
sera supprimé dans une prochaine version.-
L'ancienne méthode de configuration des intercepteurs de base est obsolète. Cependant, elle continue de fonctionner jusqu'à ce qu'elle soit supprimée dans une prochaine version. À la place, les intercepteurs d'une ressource
Trigger
sont désormais configurés à l'aide d'une nouvelle syntaxe basée surref
etparams
. Le webhook par défaut qui en résulte passe automatiquement de l'ancienne syntaxe à la nouvelle syntaxe pour les nouveaux déclencheurs. -
Utilisez
rbac.authorization.k8s.io/v1
au lieu de l'ancienrbac.authorization.k8s.io/v1beta1
pour la ressourceClusterRoleBinding
. -
Dans les rôles de grappe, l'accès en écriture à l'échelle de la grappe à des ressources telles que
serviceaccounts
,secrets
,configmaps
, etlimitranges
est supprimé. En outre, l'accès aux ressources telles quedeployments
,statefulsets
, etdeployment/finalizers
est supprimé pour l'ensemble de la grappe. -
La définition de la ressource personnalisée
image
dans le groupecaching.internal.knative.dev
n'est plus utilisée par Tekton et est exclue de cette version.
3.1.8.4. Problèmes connus Copier lienLien copié sur presse-papiers!
La tâche cluster git-cli est construite à partir de l'image de base alpine/git, qui attend
/root
comme répertoire personnel de l'utilisateur. Cependant, cela n'est pas explicitement défini dans la tâche de clustergit-cli
.Dans Tekton, le répertoire d'accueil par défaut est remplacé par
/tekton/home
à chaque étape d'une tâche, sauf indication contraire. Cet écrasement de la variable d'environnement$HOME
de l'image de base entraîne l'échec de la tâche de clustergit-cli
.Ce problème devrait être corrigé dans les prochaines versions. Pour Red Hat OpenShift Pipelines 1.5 et les versions antérieures, vous pouvez use any one of the following workarounds pour éviter l'échec de la tâche de cluster
git-cli
:Définissez la variable d'environnement
$HOME
dans les étapes, afin qu'elle ne soit pas écrasée.-
[OPTIONNEL] Si vous avez installé Red Hat OpenShift Pipelines à l'aide de l'Opérateur, clonez la tâche de cluster
git-cli
dans une tâche séparée. Cette approche garantit que l'Opérateur n'écrase pas les modifications apportées à la tâche de cluster. -
Exécutez la commande
oc edit clustertasks git-cli
. Ajouter la variable d'environnement
HOME
au YAML de l'étape :Copy to Clipboard Copied! Toggle word wrap Toggle overflow AvertissementPour Red Hat OpenShift Pipelines installé par l'Opérateur, si vous ne clonez pas la tâche de cluster
git-cli
dans une tâche séparée avant de modifier la variable d'environnementHOME
, les modifications sont écrasées lors de la réconciliation de l'Opérateur.
-
[OPTIONNEL] Si vous avez installé Red Hat OpenShift Pipelines à l'aide de l'Opérateur, clonez la tâche de cluster
Désactive l'écrasement de la variable d'environnement
HOME
dans la carte de configurationfeature-flags
.-
Exécutez la commande
oc edit -n openshift-pipelines configmap feature-flags
. Fixer la valeur de l'indicateur
disable-home-env-overwrite
àtrue
.Avertissement- Si vous avez installé Red Hat OpenShift Pipelines à l'aide de l'Opérateur, les modifications sont écrasées lors de la réconciliation de l'Opérateur.
-
La modification de la valeur par défaut de l'indicateur
disable-home-env-overwrite
peut perturber d'autres tâches et des tâches en grappe, car elle modifie le comportement par défaut de toutes les tâches.
-
Exécutez la commande
Utilisez un compte de service différent pour la tâche de cluster
git-cli
, car l'écrasement de la variable d'environnementHOME
se produit lorsque le compte de service par défaut pour les pipelines est utilisé.- Créer un nouveau compte de service.
- Liez votre secret Git au compte de service que vous venez de créer.
- Utiliser le compte de service lors de l'exécution d'une tâche ou d'un pipeline.
-
Sur IBM Power Systems, IBM Z et LinuxONE, la tâche
s2i-dotnet
cluster et la commandetkn hub
ne sont pas prises en charge. -
Lorsque vous exécutez des tâches de cluster Maven et Jib-Maven, l'image de conteneur par défaut n'est prise en charge que sur l'architecture Intel (x86). Par conséquent, les tâches échoueront sur les clusters IBM Power Systems (ppc64le), IBM Z et LinuxONE (s390x). Pour contourner ce problème, vous pouvez spécifier une image personnalisée en définissant la valeur du paramètre
MAVEN_IMAGE
surmaven:3.6.3-adoptopenjdk-11
.
3.1.8.5. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Les expressions
when
dans les tâchesdag
ne sont pas autorisées à spécifier la variable de contexte accédant à l'état d'exécution ($(tasks.<pipelineTask>.status)
) d'une autre tâche. -
Utilisez les UID des propriétaires plutôt que les noms des propriétaires, car cela permet d'éviter les conditions de course créées par la suppression d'un PVC
volumeClaimTemplate
, dans les situations où une ressourcePipelineRun
est rapidement supprimée puis recréée. -
Un nouveau fichier Docker est ajouté pour
pullrequest-init
pour l'imagebuild-base
déclenchée par des utilisateurs non root. -
Lorsqu'un pipeline ou une tâche est exécuté avec l'option
-f
et que leparam
dans sa définition n'a pas detype
défini, une erreur de validation est générée au lieu de l'échec silencieux du pipeline ou de l'exécution de la tâche. -
Pour les commandes
tkn start [task | pipeline | clustertask]
, la description de l'indicateur--workspace
est désormais cohérente. - Lors de l'analyse des paramètres, si un tableau vide est rencontré, l'aide interactive correspondante est affichée sous la forme d'une chaîne vide.
3.1.9. Notes de mise à jour pour Red Hat OpenShift Pipelines General Availability 1.4 Copier lienLien copié sur presse-papiers!
Red Hat OpenShift Pipelines General Availability (GA) 1.4 est désormais disponible sur OpenShift Container Platform 4.7.
En plus des canaux stable et preview Operator, Red Hat OpenShift Pipelines Operator 1.4.0 est livré avec les canaux dépréciés ocp-4.6, ocp-4.5, et ocp-4.4. Ces canaux dépréciés et leur prise en charge seront supprimés dans la prochaine version de Red Hat OpenShift Pipelines.
3.1.9.1. Matrice de compatibilité et de soutien Copier lienLien copié sur presse-papiers!
Certaines fonctionnalités de cette version sont actuellement en avant-première technologique. Ces fonctionnalités expérimentales ne sont pas destinées à être utilisées en production.
Dans le tableau, les caractéristiques sont marquées par les statuts suivants :
TP | Avant-première technologique |
GA | Disponibilité générale |
Notez l'étendue de l'assistance suivante sur le portail client de Red Hat pour ces fonctionnalités :
Fonctionnalité | Version | Statut de soutien |
---|---|---|
Pipelines | 0.22 | GA |
CLI | 0.17 | GA |
Catalogue | 0.22 | GA |
Déclencheurs | 0.12 | TP |
Ressources en gazoducs | - | TP |
Pour toute question ou commentaire, vous pouvez envoyer un courriel à l'équipe produit à l'adresse pipelines-interest@redhat.com.
3.1.9.2. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
En plus des corrections et des améliorations de la stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.4.
Les tâches personnalisées présentent les améliorations suivantes :
- Les résultats du pipeline peuvent désormais faire référence aux résultats produits par les tâches personnalisées.
- Les tâches personnalisées peuvent désormais utiliser des espaces de travail, des comptes de service et des modèles de pods pour créer des tâches personnalisées plus complexes.
La tâche
finally
présente les améliorations suivantes :-
Les expressions
when
sont prises en charge dans les tâchesfinally
, ce qui permet une exécution gardée efficace et une réutilisation améliorée des tâches. Une tâche
finally
peut être configurée pour consommer les résultats de n'importe quelle tâche au sein du même pipeline.NoteLa prise en charge des expressions
when
et des tâchesfinally
n'est pas disponible dans la console Web d'OpenShift Container Platform 4.7.
-
Les expressions
-
La prise en charge de plusieurs secrets du type
dockercfg
oudockerconfigjson
a été ajoutée pour l'authentification au moment de l'exécution. -
La fonctionnalité de prise en charge de la vérification éparse avec la tâche
git-clone
a été ajoutée. Cela vous permet de ne cloner qu'un sous-ensemble du référentiel en tant que copie locale et de limiter la taille des référentiels clonés. - Vous pouvez créer des exécutions de pipeline dans un état d'attente sans les démarrer. Dans les clusters fortement sollicités, cela permet aux opérateurs de contrôler l'heure de démarrage des opérations de pipeline.
-
Veillez à définir manuellement la variable d'environnement
SYSTEM_NAMESPACE
pour le contrôleur ; elle était auparavant définie par défaut. -
Un utilisateur non-root est maintenant ajouté à l'image build-base de pipelines afin que
git-init
puisse cloner des dépôts en tant qu'utilisateur non-root. - La prise en charge de la validation des dépendances entre les ressources résolues avant le début de l'exécution d'un pipeline a été ajoutée. Toutes les variables de résultat du pipeline doivent être valides, et les espaces de travail optionnels d'un pipeline ne peuvent être transmis qu'aux tâches qui s'y attendent pour que le pipeline commence à fonctionner.
- Le contrôleur et le webhook s'exécutent en tant que groupe non root, et leurs capacités superflues ont été supprimées pour les rendre plus sûrs.
-
Vous pouvez utiliser la commande
tkn pr logs
pour voir les flux de journaux pour les exécutions de tâches répétées. -
Vous pouvez utiliser l'option
--clustertask
de la commandetkn tr delete
pour supprimer toutes les exécutions de tâches associées à une tâche de cluster particulière. -
La possibilité d'utiliser le service Knative avec la ressource
EventListener
est ajoutée par l'introduction d'un nouveau champcustomResource
. - Un message d'erreur s'affiche lorsque la charge utile d'un événement n'utilise pas le format JSON.
-
Les intercepteurs de contrôle de source tels que GitLab, BitBucket et GitHub utilisent désormais la nouvelle interface de type
InterceptorRequest
ouInterceptorResponse
. -
Une nouvelle fonction CEL
marshalJSON
est implémentée pour vous permettre d'encoder un objet JSON ou un tableau en une chaîne de caractères. -
Un gestionnaire HTTP pour servir le CEL et les intercepteurs centraux de contrôle de source a été ajouté. Il regroupe quatre intercepteurs principaux dans un seul serveur HTTP qui est déployé dans l'espace de noms
tekton-pipelines
. L'objetEventListener
transmet les événements à l'intercepteur via le serveur HTTP. Chaque intercepteur est disponible sur un chemin différent. Par exemple, l'intercepteur CEL est disponible sur le chemin/cel
. La contrainte de contexte de sécurité (SCC)
pipelines-scc
est utilisée avec le compte de service par défautpipeline
pour les pipelines. Ce nouveau compte de service est similaire àanyuid
, mais avec une différence mineure telle que définie dans le YAML pour SCC de OpenShift Container Platform 4.7 :fsGroup: type: MustRunAs
fsGroup: type: MustRunAs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.9.3. Fonctionnalités obsolètes Copier lienLien copié sur presse-papiers!
-
Le sous-type
build-gcs
dans le stockage des ressources du pipeline et l'imagegcs-fetcher
ne sont pas pris en charge. -
Dans le champ
taskRun
des tâches en grappe, l'étiquettetekton.dev/task
est supprimée. -
Pour les webhooks, la valeur
v1beta1
correspondant au champadmissionReviewVersions
est supprimée. -
L'image d'aide
creds-init
pour la construction et le déploiement est supprimée. Dans la spécification et la liaison des déclencheurs, le champ obsolète
template.name
est supprimé au profit detemplate.ref
. Vous devez mettre à jour toutes les définitions deeventListener
pour utiliser le champref
.NoteLa mise à niveau d'OpenShift Pipelines 1.3.x et des versions antérieures vers OpenShift Pipelines 1.4.0 interrompt les auditeurs d'événements en raison de l'indisponibilité du champ
template.name
. Dans ce cas, utilisez OpenShift Pipelines 1.4.1 pour bénéficier du champtemplate.name
restauré.-
Pour les ressources/objets personnalisés
EventListener
, les champsPodTemplate
etServiceType
sont obsolètes au profit deResource
. - Le style de spécification "embedded bindings", obsolète, a été supprimé.
-
Le champ
spec
est supprimé du champtriggerSpecBinding
. - La représentation de l'ID de l'événement passe d'une chaîne aléatoire de cinq caractères à un UUID.
3.1.9.4. Problèmes connus Copier lienLien copié sur presse-papiers!
- Sur le site Developer, les fonctionnalités de métriques et de déclencheurs de pipeline ne sont disponibles que sur OpenShift Container Platform 4.7.6 ou les versions ultérieures.
-
Sur les systèmes IBM Power, IBM Z et LinuxONE, la commande
tkn hub
n'est pas prise en charge. -
Lorsque vous exécutez les tâches Maven et Jib Maven sur des clusters IBM Power Systems (ppc64le), IBM Z et LinuxONE (s390x), définissez la valeur du paramètre
MAVEN_IMAGE
surmaven:3.6.3-adoptopenjdk-11
. Les déclencheurs génèrent une erreur résultant d'une mauvaise gestion du format JSON, si vous avez la configuration suivante dans la liaison du déclencheur :
params: - name: github_json value: $(body)
params: - name: github_json value: $(body)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour résoudre le problème :
-
Si vous utilisez les déclencheurs v0.11.0 et plus, utilisez la fonction
marshalJSON
CEL, qui prend un objet ou un tableau JSON et renvoie l'encodage JSON de cet objet ou de ce tableau sous la forme d'une chaîne. Si vous utilisez une version plus ancienne des déclencheurs, ajoutez l'annotation suivante dans le modèle de déclencheur :
annotations: triggers.tekton.dev/old-escape-quotes: "true"
annotations: triggers.tekton.dev/old-escape-quotes: "true"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Si vous utilisez les déclencheurs v0.11.0 et plus, utilisez la fonction
- Lors de la mise à jour d'OpenShift Pipelines 1.3.x vers 1.4.x, vous devez recréer les routes.
3.1.9.5. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Auparavant, l'étiquette
tekton.dev/task
avait été supprimée de l'exécution des tâches en grappe et l'étiquettetekton.dev/clusterTask
avait été introduite. Les problèmes résultant de ce changement sont résolus en corrigeant les commandesclustertask describe
etdelete
. De plus, la fonctionlastrun
pour les tâches est modifiée, afin de résoudre le problème de l'étiquettetekton.dev/task
appliquée aux tâches et aux tâches en grappe dans les anciennes versions des pipelines. -
Lors d'une opération interactive
tkn pipeline start pipelinename
, unPipelineResource
est créé de manière interactive. La commandetkn p start
imprime l'état de la ressource si l'état de la ressource n'est pasnil
. -
Auparavant, l'étiquette
tekton.dev/task=name
était supprimée des exécutions de tâches créées à partir de tâches en grappe. Ce correctif modifie la commandetkn clustertask start
avec l'indicateur--last
pour vérifier la présence de l'étiquettetekton.dev/task=name
dans les exécutions de tâches créées. -
Lorsqu'une tâche utilise une spécification de tâche en ligne, l'exécution de la tâche correspondante est désormais intégrée dans le pipeline lorsque vous exécutez la commande
tkn pipeline describe
, et le nom de la tâche est renvoyé comme étant intégré. -
La commande
tkn version
permet d'afficher la version de l'outil CLI Tekton installé, sanskubeConfiguration namespace
configuré ni accès à un cluster. -
Si un argument est inattendu ou si plusieurs arguments sont utilisés, la commande
tkn completion
génère une erreur. -
Auparavant, les exécutions de pipeline avec les tâches
finally
imbriquées dans une spécification de pipeline perdaient ces tâchesfinally
, lorsqu'elles étaient converties en versionv1alpha1
et restaurées en versionv1beta1
. Cette erreur survenant lors de la conversion a été corrigée afin d'éviter toute perte potentielle de données. Les exécutions de pipeline avec les tâchesfinally
imbriquées dans une spécification de pipeline sont désormais sérialisées et stockées sur la version alpha, pour être désérialisées ultérieurement. -
Auparavant, il y avait une erreur dans la génération de pods lorsqu'un compte de service avait le champ
secrets
comme{}
. L'exécution de la tâche échouait avecCouldntGetTask
parce que la requête GET avec un nom secret vide renvoyait une erreur, indiquant que le nom de la ressource pouvait ne pas être vide. Ce problème est corrigé en évitant d'utiliser un nom secret vide dans la requête GETkubeclient
. -
Les pipelines avec les versions de l'API
v1beta1
peuvent maintenant être demandés avec la versionv1alpha1
, sans perdre les tâchesfinally
. L'application de la versionv1alpha1
renvoyée stockera la ressource en tant quev1beta1
, la sectionfinally
étant rétablie dans son état d'origine. -
Auparavant, un champ
selfLink
non défini dans le contrôleur provoquait une erreur dans les clusters Kubernetes v1.20. Comme solution temporaire, le champ sourceCloudEvent
est défini à une valeur qui correspond à l'URI source actuel, sans la valeur du champselfLink
auto-remplie. -
Auparavant, un nom secret comportant des points, tel que
gcr.io
, entraînait l'échec de la création d'une exécution de tâche. Cela était dû au fait que le nom secret était utilisé en interne dans le cadre d'un nom de montage de volume. Le nom de montage du volume est conforme à l'étiquette DNS RFC1123 et interdit les points dans le nom. Ce problème est résolu en remplaçant le point par un tiret, ce qui permet d'obtenir un nom lisible. -
Les variables contextuelles sont désormais validées dans les tâches
finally
. -
Auparavant, lorsque l'outil de rapprochement des tâches recevait une tâche qui n'avait pas fait l'objet d'une mise à jour de statut contenant le nom du module qu'elle avait créé, l'outil de rapprochement des tâches répertoriait les modules associés à la tâche. Il utilise les étiquettes de l'exécution de la tâche, qui ont été propagées dans le module, pour trouver le module. La modification de ces étiquettes pendant l'exécution de la tâche a eu pour effet que le code n'a pas trouvé le module existant. Par conséquent, des modules en double ont été créés. Ce problème est résolu en modifiant le réconciliateur de tâches pour qu'il n'utilise que l'étiquette
tekton.dev/taskRun
contrôlée par Tekton lors de la recherche de la nacelle. - Auparavant, lorsqu'un pipeline acceptait un espace de travail optionnel et le transmettait à une tâche du pipeline, l'outil de réconciliation de l'exécution du pipeline s'arrêtait avec une erreur si l'espace de travail n'était pas fourni, même si une liaison d'espace de travail manquante est un état valide pour un espace de travail optionnel. Ce problème est corrigé en s'assurant que le réconciliateur d'exécution de pipeline n'échoue pas à créer une exécution de tâche, même si un espace de travail optionnel n'est pas fourni.
- L'ordre trié des statuts d'étape correspond à l'ordre des conteneurs d'étape.
-
Auparavant, le statut d'exécution de la tâche était défini sur
unknown
lorsqu'un module rencontrait la raisonCreateContainerConfigError
, ce qui signifiait que la tâche et le pipeline s'exécutaient jusqu'à ce que le module s'arrête. Ce problème est résolu en définissant le statut d'exécution de la tâche surfalse
, de sorte que la tâche soit considérée comme ayant échoué lorsque le module rencontre la raisonCreateContainerConfigError
. -
Auparavant, les résultats du pipeline étaient résolus lors de la première réconciliation, après l'achèvement de l'exécution du pipeline. Cela pouvait faire échouer la résolution et entraîner l'écrasement de la condition
Succeeded
de l'exécution du pipeline. En conséquence, les informations sur l'état final étaient perdues, ce qui risquait de perturber les services qui surveillaient les conditions de l'exécution du pipeline. Ce problème est résolu en déplaçant la résolution des résultats du pipeline à la fin d'une réconciliation, lorsque le pipeline est placé dans une conditionSucceeded
ouTrue
. - La variable d'état d'exécution est désormais validée. Cela évite de valider les résultats de la tâche tout en validant les variables de contexte pour accéder à l'état d'exécution.
- Auparavant, un résultat de pipeline contenant une variable non valide était ajouté à l'exécution du pipeline avec l'expression littérale de la variable intacte. Il était donc difficile d'évaluer si les résultats étaient correctement remplis. Ce problème est résolu en filtrant les résultats de l'exécution de la chaîne de production qui font référence à des exécutions de tâches qui ont échoué. Désormais, un résultat de pipeline qui contient une variable non valide ne sera pas du tout émis par le pipeline.
-
La commande
tkn eventlistener describe
a été corrigée pour éviter les plantages en l'absence de modèle. Elle affiche également les détails des références des déclencheurs. -
Les mises à niveau d'OpenShift Pipelines 1.3.x et des versions antérieures vers OpenShift Pipelines 1.4.0 interrompent les auditeurs d'événements en raison de l'indisponibilité de
template.name
. Dans OpenShift Pipelines 1.4.1,template.name
a été restauré pour éviter d'interrompre les auditeurs d'événements dans les déclencheurs. -
Dans OpenShift Pipelines 1.4.1, la ressource personnalisée
ConsoleQuickStart
a été mise à jour pour s'aligner sur les capacités et le comportement d'OpenShift Container Platform 4.7.
3.1.10. Notes de publication pour Red Hat OpenShift Pipelines Technology Preview 1.3 Copier lienLien copié sur presse-papiers!
3.1.10.1. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
Red Hat OpenShift Pipelines Technology Preview (TP) 1.3 est maintenant disponible sur OpenShift Container Platform 4.7. Red Hat OpenShift Pipelines TP 1.3 est mis à jour pour prendre en charge :
- Tekton Pipelines 0.19.0
-
Tekton
tkn
CLI 0.15.0 - Tekton Triggers 0.10.2
- tâches en grappe basées sur le catalogue Tekton 0.19.0
- IBM Power Systems sur OpenShift Container Platform 4.7
- IBM Z et LinuxONE sur OpenShift Container Platform 4.7
En plus des corrections et des améliorations de stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.3.
3.1.10.1.1. Pipelines Copier lienLien copié sur presse-papiers!
- Les tâches qui construisent des images, telles que les tâches S2I et Buildah, émettent désormais une URL de l'image construite qui inclut l'image SHA.
-
Les conditions dans les tâches du pipeline qui font référence à des tâches personnalisées ne sont pas autorisées car la définition des ressources personnalisées (CRD) de
Condition
a été supprimée. -
L'expansion des variables est désormais ajoutée dans le CRD
Task
pour les champs suivants :spec.steps[].imagePullPolicy
etspec.sidecar[].imagePullPolicy
. -
Vous pouvez désactiver le mécanisme d'authentification intégré dans Tekton en définissant le drapeau de fonctionnalité
disable-creds-init
surtrue
. -
Résolu lorsque les expressions sont maintenant listées dans les sections
Skipped Tasks
etTask Runs
dans le champStatus
de la configurationPipelineRun
. -
La commande
git init
peut désormais cloner des sous-modules récursifs. -
L'auteur d'un CR
Task
peut désormais spécifier un délai pour une étape dans la spécificationTask
. -
Vous pouvez maintenant baser l'image du point d'entrée sur l'image
distroless/static:nonroot
et lui donner un mode pour se copier vers la destination, sans dépendre de la présence de la commandecp
dans l'image de base. -
Vous pouvez désormais utiliser l'indicateur de configuration
require-git-ssh-secret-known-hosts
pour interdire l'omission d'hôtes connus dans le secret SSH de Git. Lorsque la valeur de l'indicateur esttrue
, vous devez inclure le champknown_host
dans le secret SSH de Git. La valeur par défaut de l'indicateur estfalse
. - Le concept d'espaces de travail optionnels est désormais introduit. Une tâche ou un pipeline peut déclarer un espace de travail optionnel et modifier conditionnellement son comportement en fonction de sa présence. Une tâche ou un pipeline peut également omettre cet espace de travail, modifiant ainsi le comportement de la tâche ou du pipeline. Les espaces de travail par défaut de l'exécution de la tâche ne sont pas ajoutés à la place d'un espace de travail optionnel omis.
- L'initialisation des identifiants dans Tekton détecte désormais un identifiant SSH utilisé avec une URL non-SSH, et vice versa dans les ressources du pipeline Git, et enregistre un avertissement dans les conteneurs d'étapes.
- Le contrôleur d'exécution des tâches émet un avertissement si l'affinité spécifiée par le modèle de pod est remplacée par l'assistant d'affinité.
- Le réconciliateur d'exécution des tâches enregistre désormais des mesures pour les événements du nuage qui sont émis une fois l'exécution d'une tâche terminée. Cela inclut les tentatives.
3.1.10.1.2. L'interface de programmation des pipelines Copier lienLien copié sur presse-papiers!
-
La prise en charge de
--no-headers flag
est maintenant ajoutée aux commandes suivantes :tkn condition list
,tkn triggerbinding list
,tkn eventlistener list
,tkn clustertask list
,tkn clustertriggerbinding list
. -
Lorsqu'elles sont utilisées ensemble, les options
--last
ou--use
sont prioritaires sur les options--prefix-name
et--timeout
. -
La commande
tkn eventlistener logs
a été ajoutée pour afficher les journaux deEventListener
. -
Les commandes de
tekton hub
sont désormais intégrées dans le CLI detkn
. -
L'option
--nocolour
est désormais remplacée par--no-color
. -
L'indicateur
--all-namespaces
est ajouté aux commandes suivantes :tkn triggertemplate list
,tkn condition list
,tkn triggerbinding list
,tkn eventlistener list
.
3.1.10.1.3. Déclencheurs Copier lienLien copié sur presse-papiers!
-
Vous pouvez maintenant spécifier vos informations sur les ressources dans le modèle
EventListener
. -
Il est désormais obligatoire pour les comptes de service
EventListener
d'avoir les verbeslist
etwatch
, en plus du verbeget
pour toutes les ressources de déclenchement. Cela vous permet d'utiliserListers
pour récupérer des données des ressourcesEventListener
,Trigger
,TriggerBinding
,TriggerTemplate
etClusterTriggerBinding
. Vous pouvez utiliser cette fonctionnalité pour créer un objetSink
au lieu de spécifier plusieurs informateurs, et faire directement des appels au serveur API. -
Une nouvelle interface
Interceptor
a été ajoutée pour prendre en charge les corps d'événements d'entrée immuables. Les intercepteurs peuvent désormais ajouter des données ou des champs à un nouveau champextensions
et ne peuvent pas modifier les corps d'entrée, ce qui les rend immuables. L'intercepteur CEL utilise cette nouvelle interfaceInterceptor
. -
Un champ
namespaceSelector
est ajouté à la ressourceEventListener
. Il permet de spécifier les espaces de noms à partir desquels la ressourceEventListener
peut récupérer l'objetTrigger
pour traiter les événements. Pour utiliser le champnamespaceSelector
, le compte de service de la ressourceEventListener
doit avoir un rôle de cluster. -
La ressource
EventListener
prend désormais en charge la connexion sécurisée de bout en bout avec le moduleeventlistener
. -
The escaping parameters behavior in the
TriggerTemplates
resource by replacing"
with\"
is now removed. -
Un nouveau champ
resources
, prenant en charge les ressources Kubernetes, est introduit dans le cadre de la spécificationEventListener
. - Une nouvelle fonctionnalité pour l'intercepteur CEL, avec la prise en charge des majuscules et minuscules des chaînes ASCII, a été ajoutée.
-
Vous pouvez intégrer des ressources
TriggerBinding
en utilisant les champsname
etvalue
dans un déclencheur ou un récepteur d'événements. -
La configuration de
PodSecurityPolicy
est mise à jour pour fonctionner dans des environnements restreints. Elle garantit que les conteneurs doivent être exécutés en tant que non-root. En outre, le contrôle d'accès basé sur les rôles pour l'utilisation de la politique de sécurité du pod est déplacé de l'échelle du cluster à l'échelle de l'espace de noms. Cela garantit que les déclencheurs ne peuvent pas utiliser d'autres politiques de sécurité de pods qui ne sont pas liées à un espace de noms. -
La prise en charge des modèles de déclenchement intégrés a été ajoutée. Vous pouvez utiliser le champ
name
pour faire référence à un modèle incorporé ou incorporer le modèle dans le champspec
.
3.1.10.2. Fonctionnalités obsolètes Copier lienLien copié sur presse-papiers!
-
Les modèles de pipeline qui utilisent les CRD
PipelineResources
sont désormais obsolètes et seront supprimés dans une prochaine version. -
Le champ
template.name
est obsolète en faveur du champtemplate.ref
et sera supprimé dans une prochaine version. -
L'abréviation
-c
pour la commande--check
a été supprimée. En outre, les drapeaux globauxtkn
sont ajoutés à la commandeversion
.
3.1.10.3. Problèmes connus Copier lienLien copié sur presse-papiers!
-
Les superpositions CEL ajoutent des champs à une nouvelle fonction de niveau supérieur
extensions
, au lieu de modifier le corps de l'événement entrant. Les ressourcesTriggerBinding
peuvent accéder aux valeurs de cette nouvelle fonctionextensions
à l'aide de la syntaxe$(extensions.<key>)
. Mettez à jour votre liaison pour utiliser la syntaxe$(extensions.<key>)
au lieu de la syntaxe$(body.<overlay-key>)
. -
The escaping parameters behavior by replacing
"
with\"
is now removed. If you need to retain the old escaping parameters behavior add thetekton.dev/old-escape-quotes: true"
annotation to yourTriggerTemplate
specification. -
Vous pouvez intégrer des ressources
TriggerBinding
en utilisant les champsname
etvalue
à l'intérieur d'un déclencheur ou d'un récepteur d'événements. Toutefois, vous ne pouvez pas spécifier les champsname
etref
pour une seule liaison. Utilisez le champref
pour faire référence à une ressourceTriggerBinding
et le champname
pour les liaisons intégrées. -
Un intercepteur ne peut pas tenter de référencer une ressource
secret
en dehors de l'espace de noms d'une ressourceEventListener
. Vous devez inclure des secrets dans l'espace de noms de la ressource `EventListener`. -
Dans les déclencheurs 0.9.0 et ultérieurs, si un paramètre
TriggerBinding
basé sur le corps ou l'en-tête est manquant ou malformé dans la charge utile d'un événement, les valeurs par défaut sont utilisées au lieu d'afficher une erreur. -
Les tâches et les pipelines créés avec des objets
WhenExpression
avec Tekton Pipelines 0.16.x doivent être réappliqués pour fixer leurs annotations JSON. - Lorsqu'un pipeline accepte un espace de travail optionnel et le donne à une tâche, l'exécution du pipeline se bloque si l'espace de travail n'est pas fourni.
- Pour utiliser la tâche Buildah cluster dans un environnement déconnecté, assurez-vous que le fichier Docker utilise un flux d'images interne comme image de base, puis utilisez-le de la même manière que n'importe quelle tâche S2I cluster.
3.1.10.4. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Les extensions ajoutées par un intercepteur CEL sont transmises aux intercepteurs de webhook en ajoutant le champ
Extensions
dans le corps de l'événement. -
Le délai d'inactivité des lecteurs de journaux est désormais configurable à l'aide du champ
LogOptions
. Toutefois, le comportement par défaut, à savoir un délai d'attente de 10 secondes, est conservé. -
La commande
log
ignore l'indicateur--follow
lorsque l'exécution d'une tâche ou d'un pipeline est terminée, et lit les journaux disponibles au lieu des journaux en direct. -
Les références aux ressources Tekton suivantes :
EventListener
,TriggerBinding
,ClusterTriggerBinding
,Condition
, etTriggerTemplate
sont désormais normalisées et rendues cohérentes dans tous les messages destinés aux utilisateurs dans les commandestkn
. -
Auparavant, si vous lanciez une exécution de tâche ou de pipeline annulée avec les drapeaux
--use-taskrun <canceled-task-run-name>
,--use-pipelinerun <canceled-pipeline-run-name>
ou--last
, la nouvelle exécution était annulée. Ce bogue est maintenant corrigé. -
La commande
tkn pr desc
a été améliorée afin de garantir qu'elle n'échoue pas en cas d'exécution d'un pipeline avec des conditions. -
Lorsque vous supprimez une exécution de tâche à l'aide de la commande
tkn tr delete
avec l'option--task
et qu'il existe une tâche de cluster portant le même nom, les exécutions de tâches de la tâche de cluster sont également supprimées. Pour contourner ce problème, filtrez les exécutions de tâches en utilisant le champTaskRefKind
. -
La commande
tkn triggertemplate describe
n'affichait qu'une partie de la valeurapiVersion
dans la sortie. Par exemple, seultriggers.tekton.dev
était affiché au lieu detriggers.tekton.dev/v1alpha1
. Ce bogue est maintenant corrigé. - Dans certaines conditions, le webhook ne parvenait pas à acquérir un bail et ne fonctionnait pas correctement. Ce bogue est maintenant corrigé.
- Les pipelines avec des expressions when créés dans la version 0.16.3 peuvent maintenant être exécutés dans la version 0.17.1 et les versions ultérieures. Après une mise à jour, il n'est pas nécessaire de réappliquer les définitions de pipelines créées dans les versions précédentes, car les premières lettres des annotations, qu'elles soient en majuscules ou en minuscules, sont désormais prises en charge.
-
Par défaut, le champ
leader-election-ha
est maintenant activé pour la haute disponibilité. Lorsque l'indicateur du contrôleurdisable-ha
est défini surtrue
, il désactive la prise en charge de la haute disponibilité. - Les problèmes de duplication des événements cloud sont désormais résolus. Les événements cloud ne sont désormais envoyés que lorsqu'une condition modifie l'état, la raison ou le message.
-
Lorsqu'un nom de compte de service est absent d'une spécification
PipelineRun
ouTaskRun
, le contrôleur utilise le nom de compte de service de la carte de configurationconfig-defaults
. Si le nom du compte de service est également absent de la carte de configurationconfig-defaults
, le contrôleur lui attribue désormais la valeurdefault
dans la spécification. - La validation de la compatibilité avec l'assistant d'affinité est désormais prise en charge lorsque la même revendication de volume persistant est utilisée pour plusieurs espaces de travail, mais avec des sous-chemins différents.
3.1.11. Notes de version pour Red Hat OpenShift Pipelines Technology Preview 1.2 Copier lienLien copié sur presse-papiers!
3.1.11.1. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
Red Hat OpenShift Pipelines Technology Preview (TP) 1.2 est maintenant disponible sur OpenShift Container Platform 4.6. Red Hat OpenShift Pipelines TP 1.2 est mis à jour pour prendre en charge :
- Tekton Pipelines 0.16.3
-
Tekton
tkn
CLI 0.13.1 - Tekton Triggers 0.8.1
- tâches en grappe basées sur le catalogue Tekton 0.16
- IBM Power Systems sur OpenShift Container Platform 4.6
- IBM Z et LinuxONE sur OpenShift Container Platform 4.6
En plus des corrections et des améliorations de stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.2.
3.1.11.1.1. Pipelines Copier lienLien copié sur presse-papiers!
Cette version de Red Hat OpenShift Pipelines ajoute la prise en charge d'une installation déconnectée.
NoteLes installations dans des environnements restreints ne sont actuellement pas prises en charge sur les systèmes IBM Power, IBM Z et LinuxONE.
-
Vous pouvez désormais utiliser le champ
when
, au lieu de la ressourceconditions
, pour exécuter une tâche uniquement lorsque certains critères sont remplis. Les composants clés des ressourcesWhenExpression
sontInput
,Operator
etValues
. Si toutes les expressions when évaluentTrue
, la tâche est exécutée. Si l'une des expressions when évalueFalse
, la tâche est ignorée. - Les statuts des étapes sont désormais mis à jour en cas d'annulation ou de dépassement du délai d'exécution d'une tâche.
-
La prise en charge de Git Large File Storage (LFS) est désormais disponible pour construire l'image de base utilisée par
git-init
. -
Vous pouvez désormais utiliser le champ
taskSpec
pour spécifier des métadonnées, telles que des étiquettes et des annotations, lorsqu'une tâche est intégrée dans un pipeline. -
Les événements "cloud" sont désormais pris en charge par le pipeline. Les tentatives avec
backoff
sont désormais activées pour les événements cloud envoyés par la ressource pipeline d'événements cloud. -
Vous pouvez désormais définir une configuration
Workspace
par défaut pour tout espace de travail qu'une ressourceTask
déclare, mais qu'une ressourceTaskRun
ne fournit pas explicitement. -
L'interpolation des variables de l'espace de noms est prise en charge pour l'espace de noms
PipelineRun
et l'espace de nomsTaskRun
. -
La validation des objets
TaskRun
est désormais ajoutée pour vérifier qu'il n'y a pas plus d'un espace de travail de réclamation de volume persistant utilisé lorsqu'une ressourceTaskRun
est associée à un assistant d'affinité. Si plus d'un espace de travail de réclamation de volume persistant est utilisé, l'exécution de la tâche échoue avec une conditionTaskRunValidationFailed
. Notez que par défaut, l'assistant Affinity est désactivé dans Red Hat OpenShift Pipelines, vous devrez donc activer l'assistant pour l'utiliser.
3.1.11.1.2. L'interface de programmation des pipelines Copier lienLien copié sur presse-papiers!
Les commandes
tkn task describe
,tkn taskrun describe
,tkn clustertask describe
,tkn pipeline describe
, ettkn pipelinerun describe
maintenant :-
Sélectionne automatiquement les ressources
Task
,TaskRun
,ClusterTask
,Pipeline
etPipelineRun
, respectivement, si une seule d'entre elles est présente. -
Affichez les résultats des ressources
Task
,TaskRun
,ClusterTask
,Pipeline
etPipelineRun
dans leurs sorties respectives. -
Afficher les espaces de travail déclarés dans les ressources
Task
,TaskRun
,ClusterTask
,Pipeline
etPipelineRun
dans leurs sorties, respectivement.
-
Sélectionne automatiquement les ressources
-
Vous pouvez désormais utiliser l'option
--prefix-name
avec la commandetkn clustertask start
pour spécifier un préfixe pour le nom d'une exécution de tâche. -
La commande
tkn clustertask start
est désormais compatible avec le mode interactif. -
Vous pouvez désormais spécifier les propriétés
PodTemplate
prises en charge par les pipelines à l'aide de définitions de fichiers locaux ou distants pour les objetsTaskRun
etPipelineRun
. -
Vous pouvez maintenant utiliser l'option
--use-params-defaults
avec la commandetkn clustertask start
pour utiliser les valeurs par défaut définies dans la configurationClusterTask
et créer l'exécution de la tâche. -
Le drapeau
--use-param-defaults
de la commandetkn pipeline start
invite désormais à passer en mode interactif si les valeurs par défaut n'ont pas été spécifiées pour certains paramètres.
3.1.11.1.3. Déclencheurs Copier lienLien copié sur presse-papiers!
-
La fonction du langage d'expression commun (CEL) appelée
parseYAML
a été ajoutée pour analyser une chaîne YAML en une carte de chaînes. - Les messages d'erreur pour l'analyse des expressions CEL ont été améliorés pour les rendre plus granulaires lors de l'évaluation des expressions et lors de l'analyse du corps du crochet pour créer l'environnement d'évaluation.
- La prise en charge du marshaling des valeurs booléennes et des cartes est désormais possible si elles sont utilisées comme valeurs d'expressions dans un mécanisme de recouvrement CEL.
Les champs suivants ont été ajoutés à l'objet
EventListener
:-
Le champ
replicas
permet à l'auditeur d'événements d'exécuter plus d'un pod en spécifiant le nombre de répliques dans le fichier YAML. -
Le champ
NodeSelector
permet à l'objetEventListener
de programmer le pod d'écoute d'événements sur un nœud spécifique.
-
Le champ
-
Les intercepteurs de webhook peuvent désormais analyser l'en-tête
EventListener-Request-URL
pour extraire les paramètres de l'URL de la requête originale gérée par l'écouteur d'événements. - Les annotations de l'écouteur d'événements peuvent maintenant être propagées au déploiement, aux services et aux autres pods. Notez que les annotations personnalisées sur les services ou le déploiement sont écrasées, et doivent donc être ajoutées aux annotations de l'écouteur d'événements afin qu'elles soient propagées.
-
La validation correcte des répliques dans la spécification
EventListener
est maintenant disponible pour les cas où un utilisateur spécifie les valeursspec.replicas
commenegative
ouzero
. -
Vous pouvez désormais spécifier l'objet
TriggerCRD
dans la spécificationEventListener
en tant que référence en utilisant le champTriggerRef
pour créer l'objetTriggerCRD
séparément et le lier ensuite dans la spécificationEventListener
. -
La validation et les valeurs par défaut de l'objet
TriggerCRD
sont désormais disponibles.
3.1.11.2. Fonctionnalités obsolètes Copier lienLien copié sur presse-papiers!
-
$(params)
sont désormais supprimés de la ressourcetriggertemplate
et remplacés par$(tt.params)
afin d'éviter toute confusion entre les paramètres des ressourcesresourcetemplate
ettriggertemplate
. -
La référence
ServiceAccount
du niveau d'authentification optionnel basé surEventListenerTrigger
est passée d'une référence d'objet à une chaîneServiceAccountName
. Cela garantit que la référenceServiceAccount
se trouve dans le même espace de noms que l'objetEventListenerTrigger
. -
La définition de ressource personnalisée (CRD)
Conditions
est désormais obsolète ; utilisez la CRDWhenExpressions
à la place. -
L'objet
PipelineRun.Spec.ServiceAccountNames
est obsolète et remplacé par l'objetPipelineRun.Spec.TaskRunSpec[].ServiceAccountName
.
3.1.11.3. Problèmes connus Copier lienLien copié sur presse-papiers!
- Cette version de Red Hat OpenShift Pipelines ajoute la prise en charge d'une installation déconnectée. Cependant, certaines images utilisées par les tâches de cluster doivent être mises en miroir pour qu'elles fonctionnent dans des clusters déconnectés.
-
Les pipelines dans l'espace de noms
openshift
ne sont pas supprimés après la désinstallation de Red Hat OpenShift Pipelines Operator. Utilisez la commandeoc delete pipelines -n openshift --all
pour supprimer les pipelines. La désinstallation de Red Hat OpenShift Pipelines Operator ne supprime pas les écouteurs d'événements.
En guise de solution de contournement, supprimer les CRD
EventListener
etPod
:Modifier l'objet
EventListener
avec les finaliseursforegroundDeletion
:oc patch el/<eventlistener_name> -p '{"metadata":{"finalizers" :[\N-"foregroundDeletion"]}}' --type=merge
$ oc patch el/<eventlistener_name> -p '{"metadata":{"finalizers" :[\N-"foregroundDeletion"]}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :
oc patch el/github-listener-interceptor -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=merge
$ oc patch el/github-listener-interceptor -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Supprimer le CRD
EventListener
:oc patch crd/eventlisteners.triggers.tekton.dev -p '{"metadata":{"finalizers":[]}}' --type=merge
$ oc patch crd/eventlisteners.triggers.tekton.dev -p '{"metadata":{"finalizers":[]}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Lorsque vous exécutez une tâche d'image de conteneur multiarchitecture sans spécification de commande sur un cluster IBM Power Systems (ppc64le) ou IBM Z (s390x), la ressource
TaskRun
échoue avec l'erreur suivante :Error executing command: fork/exec /bin/bash: exec format error
Error executing command: fork/exec /bin/bash: exec format error
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Comme solution de contournement, utilisez une image de conteneur spécifique à l'architecture ou spécifiez le résumé sha256 pour qu'il pointe vers l'architecture correcte. Pour obtenir le condensé sha256, entrez :
skopeo inspect --raw <image_name>| jq '.manifests[] | select(.platform.architecture == "<architecture>") | .digest'
$ skopeo inspect --raw <image_name>| jq '.manifests[] | select(.platform.architecture == "<architecture>") | .digest'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.11.4. Problèmes corrigés Copier lienLien copié sur presse-papiers!
- Une validation syntaxique simple pour vérifier le filtre CEL, les superpositions dans le validateur Webhook et les expressions dans l'intercepteur a été ajoutée.
- Les déclencheurs n'écrasent plus les annotations définies sur les objets de déploiement et de service sous-jacents.
-
Auparavant, un écouteur d'événements pouvait cesser d'accepter des événements. Ce correctif ajoute un délai d'inactivité de 120 secondes pour le puits
EventListener
afin de résoudre ce problème. -
Auparavant, l'annulation de l'exécution d'un pipeline avec un état
Failed(Canceled)
donnait un message de réussite. Ce problème a été corrigé et un message d'erreur est désormais affiché. -
La commande
tkn eventlistener list
fournit désormais l'état des récepteurs d'événements répertoriés, ce qui vous permet d'identifier facilement ceux qui sont disponibles. -
Des messages d'erreur cohérents sont désormais affichés pour les commandes
triggers list
ettriggers describe
lorsque les déclencheurs ne sont pas installés ou lorsqu'une ressource ne peut être trouvée. -
Auparavant, un grand nombre de connexions inactives s'accumulaient lors de la livraison d'événements dans le nuage. Le paramètre
DisableKeepAlives: true
a été ajouté à la configuration decloudeventclient
pour résoudre ce problème. Ainsi, une nouvelle connexion est établie pour chaque événement en nuage. -
Auparavant, le code
creds-init
écrivait des fichiers vides sur le disque même si les informations d'identification d'un type donné n'étaient pas fournies. Ce correctif modifie le codecreds-init
pour qu'il écrive des fichiers uniquement pour les informations d'identification qui ont été effectivement montées à partir de secrets correctement annotés.
3.1.12. Notes de publication pour Red Hat OpenShift Pipelines Technology Preview 1.1 Copier lienLien copié sur presse-papiers!
3.1.12.1. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
Red Hat OpenShift Pipelines Technology Preview (TP) 1.1 est maintenant disponible sur OpenShift Container Platform 4.5. Red Hat OpenShift Pipelines TP 1.1 est mis à jour pour prendre en charge :
- Tekton Pipelines 0.14.3
-
Tekton
tkn
CLI 0.11.0 - Tekton Triggers 0.6.1
- tâches en grappe basées sur le catalogue Tekton 0.14
En plus des corrections et des améliorations de stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.1.
3.1.12.1.1. Pipelines Copier lienLien copié sur presse-papiers!
- Les espaces de travail peuvent désormais être utilisés à la place des ressources de pipeline. Il est recommandé d'utiliser les espaces de travail dans OpenShift Pipelines, car les ressources de pipeline sont difficiles à déboguer, limitées dans leur portée et rendent les tâches moins réutilisables. Pour plus de détails sur les espaces de travail, voir la section Comprendre OpenShift Pipelines.
La prise en charge de l'espace de travail pour les modèles de demande en volume a été ajoutée :
- Le modèle de demande de volume pour une exécution de pipeline et une exécution de tâche peut désormais être ajouté en tant que source de volume pour les espaces de travail. Le contrôleur tekton crée alors une demande de volume persistante (PVC) en utilisant le modèle qui est vu comme un PVC pour toutes les exécutions de tâches dans le pipeline. Ainsi, il n'est pas nécessaire de définir la configuration du PVC à chaque fois qu'il lie un espace de travail qui s'étend sur plusieurs tâches.
- L'aide à la recherche du nom du PVC lorsqu'un modèle de demande de volume est utilisé comme source de volume est désormais disponible en utilisant la substitution de variable.
Soutien à l'amélioration des audits :
-
Le champ
PipelineRun.Status
contient désormais l'état de chaque tâche exécutée dans le pipeline et la spécification du pipeline utilisée pour instancier une exécution du pipeline afin de surveiller la progression de l'exécution du pipeline. -
Les résultats des pipelines ont été ajoutés à la spécification des pipelines et au statut
PipelineRun
. -
Le champ
TaskRun.Status
contient désormais la spécification exacte de la tâche utilisée pour instancier la ressourceTaskRun
.
-
Le champ
- Prise en charge de l'application du paramètre par défaut aux conditions.
-
Une exécution de tâche créée en référençant une tâche de cluster ajoute désormais l'étiquette
tekton.dev/clusterTask
au lieu de l'étiquettetekton.dev/task
. -
Le rédacteur de la configuration kube ajoute maintenant les configurations
ClientKeyData
etClientCertificateData
dans la structure de la ressource pour permettre le remplacement du cluster de type de ressource pipeline avec la tâche kubeconfig-creator. -
Les noms des cartes de configuration
feature-flags
etconfig-defaults
sont désormais personnalisables. - La prise en charge du réseau hôte dans le modèle de pod utilisé par l'exécution de la tâche est désormais disponible.
- Un assistant d'affinité est maintenant disponible pour prendre en charge l'affinité des nœuds dans les exécutions de tâches qui partagent le volume de l'espace de travail. Par défaut, cette fonctionnalité est désactivée sur OpenShift Pipelines.
-
Le modèle de pod a été mis à jour pour spécifier
imagePullSecrets
afin d'identifier les secrets que le runtime du conteneur doit utiliser pour autoriser les extractions d'images de conteneurs lors du démarrage d'un pod. - Prise en charge de l'émission d'événements d'avertissement par le contrôleur d'exécution des tâches si ce dernier ne parvient pas à mettre à jour l'exécution des tâches.
- Des étiquettes k8s standard ou recommandées ont été ajoutées à toutes les ressources pour identifier les ressources appartenant à une application ou à un composant.
-
Le processus
Entrypoint
est maintenant informé des signaux et ces signaux sont ensuite propagés à l'aide d'un groupe PID dédié du processusEntrypoint
. - Le modèle de pod peut désormais être défini au niveau d'une tâche au moment de l'exécution en utilisant les spécifications d'exécution de la tâche.
Prise en charge de l'émission d'événements Kubernetes :
-
Le contrôleur émet maintenant des événements pour des événements supplémentaires du cycle de vie de l'exécution de la tâche -
taskrun started
ettaskrun running
. - Le contrôleur d'exécution des pipelines émet désormais un événement à chaque fois qu'un pipeline démarre.
-
Le contrôleur émet maintenant des événements pour des événements supplémentaires du cycle de vie de l'exécution de la tâche -
- En plus des événements Kubernetes par défaut, la prise en charge des événements cloud pour les exécutions de tâches est désormais disponible. Le contrôleur peut être configuré pour envoyer tous les événements d'exécution de tâches, tels que la création, le démarrage et l'échec, en tant qu'événements cloud.
-
Prise en charge de l'utilisation de la variable
$context.<task|taskRun|pipeline|pipelineRun>.name
pour référencer le nom approprié lors de l'exécution d'un pipeline ou d'une tâche. - La validation des paramètres d'exécution du pipeline est désormais disponible pour s'assurer que tous les paramètres requis par le pipeline sont fournis par l'exécution du pipeline. Cela permet également aux opérations de pipelines de fournir des paramètres supplémentaires en plus des paramètres requis.
-
Vous pouvez désormais spécifier des tâches au sein d'un pipeline qui seront toujours exécutées avant que le pipeline ne se termine, soit après avoir terminé toutes les tâches avec succès, soit après l'échec d'une tâche du pipeline, en utilisant le champ
finally
dans le fichier YAML du pipeline. -
La tâche
git-clone
est maintenant disponible.
3.1.12.1.2. L'interface de programmation des pipelines Copier lienLien copié sur presse-papiers!
-
La commande
tkn evenlistener describe
prend désormais en charge les déclencheurs intégrés. - Support pour recommander des sous-commandes et faire des suggestions si une sous-commande incorrecte est utilisée.
-
La commande
tkn task describe
sélectionne désormais automatiquement la tâche si une seule tâche est présente dans le pipeline. -
Vous pouvez désormais lancer une tâche en utilisant des valeurs de paramètres par défaut en spécifiant l'indicateur
--use-param-defaults
dans la commandetkn task start
. -
Vous pouvez désormais spécifier un modèle de demande de volume pour les exécutions de pipeline ou de tâches en utilisant l'option
--workspace
avec les commandestkn pipeline start
outkn task start
. -
La commande
tkn pipelinerun logs
affiche désormais les journaux des dernières tâches énumérées dans la sectionfinally
. -
La prise en charge du mode interactif a été ajoutée à la commande
tkn task start
et à la sous-commandedescribe
pour les ressourcestkn
suivantes :pipeline
,pipelinerun
,task
,taskrun
,clustertask
, etpipelineresource
. -
La commande
tkn version
affiche désormais la version des déclencheurs installés dans le cluster. -
La commande
tkn pipeline describe
affiche désormais les valeurs des paramètres et les délais spécifiés pour les tâches utilisées dans le pipeline. -
Prise en charge de l'option
--last
pour les commandestkn pipelinerun describe
ettkn taskrun describe
afin de décrire l'exécution la plus récente du pipeline ou de la tâche, respectivement. -
La commande
tkn pipeline describe
affiche désormais les conditions applicables aux tâches du pipeline. -
Vous pouvez désormais utiliser les drapeaux
--no-headers
et--all-namespaces
avec la commandetkn resource list
.
3.1.12.1.3. Déclencheurs Copier lienLien copié sur presse-papiers!
Les fonctions suivantes du langage d'expression commun (CEL) sont désormais disponibles :
-
parseURL
pour analyser et extraire des parties d'une URL -
parseJSON
pour analyser les types de valeurs JSON intégrés dans une chaîne de caractères dans le champpayload
du webhookdeployment
-
- Un nouvel intercepteur pour les webhooks de Bitbucket a été ajouté.
-
Les auditeurs d'événements affichent désormais les champs
Address URL
etAvailable status
comme champs supplémentaires lorsqu'ils sont listés avec la commandekubectl get
. -
les paramètres des modèles de déclenchement utilisent désormais la syntaxe
$(tt.params.<paramName>)
au lieu de$(params.<paramName>)
afin de réduire la confusion entre les paramètres des modèles de déclenchement et ceux des modèles de ressources. -
Vous pouvez désormais ajouter
tolerations
dans le CRDEventListener
pour vous assurer que les auditeurs d'événements sont déployés avec la même configuration même si tous les nœuds sont altérés en raison de problèmes de sécurité ou de gestion. -
Vous pouvez maintenant ajouter une sonde de préparation pour l'événement Deployment à l'adresse
URL/live
. -
La prise en charge de l'intégration des spécifications
TriggerBinding
dans les déclencheurs d'écoute d'événements a été ajoutée. -
Les ressources de déclenchement sont maintenant annotées avec les étiquettes recommandées
app.kubernetes.io
.
3.1.12.2. Fonctionnalités obsolètes Copier lienLien copié sur presse-papiers!
Les éléments suivants sont obsolètes dans cette version :
-
Les drapeaux
--namespace
ou-n
pour toutes les commandes de l'ensemble du cluster, y compris les commandesclustertask
etclustertriggerbinding
, sont obsolètes. Ils seront supprimés dans une prochaine version. -
Le champ
name
danstriggers.bindings
au sein d'une liste d'événements a été abandonné au profit du champref
et sera supprimé dans une prochaine version. -
L'interpolation de variables dans les modèles de déclenchement à l'aide de
$(params)
a été abandonnée au profit de$(tt.params)
afin de réduire la confusion avec la syntaxe d'interpolation des variables du pipeline. La syntaxe$(params.<paramName>)
sera supprimée dans une prochaine version. -
L'étiquette
tekton.dev/task
est obsolète pour les tâches en grappe. -
Le champ
TaskRun.Status.ResourceResults.ResourceRef
est obsolète et sera supprimé. -
Les sous-commandes
tkn pipeline create
,tkn task create
ettkn resource create -f
ont été supprimées. -
La validation des espaces de noms a été supprimée des commandes
tkn
. -
Le délai d'attente par défaut de
1h
et l'indicateur-t
pour la commandetkn ct start
ont été supprimés. -
La tâche
s2i
a été supprimée.
3.1.12.3. Problèmes connus Copier lienLien copié sur presse-papiers!
- Les conditions ne favorisent pas les espaces de travail.
-
L'option
--workspace
et le mode interactif ne sont pas pris en charge pour la commandetkn clustertask start
. -
La prise en charge de la compatibilité ascendante pour la syntaxe
$(params.<paramName>)
vous oblige à utiliser des modèles de déclencheurs avec des paramètres spécifiques aux pipelines, car le webhook du déclencheur n'est pas en mesure de différencier les paramètres des déclencheurs de ceux des pipelines. -
Les métriques de pipeline indiquent des valeurs incorrectes lorsque vous exécutez une requête promQL pour
tekton_taskrun_count
ettekton_taskrun_duration_seconds_count
. -
les exécutions de pipeline et les exécutions de tâches continuent d'être dans les états
Running
etRunning(Pending)
respectivement, même lorsqu'un nom de PVC non existant est donné à un espace de travail.
3.1.12.4. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Auparavant, la commande
tkn task delete <name> --trs
supprimait à la fois la tâche et la tâche de cluster si le nom de la tâche et de la tâche de cluster était le même. Avec cette correction, la commande ne supprime que les exécutions de tâches créées par la tâche<name>
. -
Auparavant, la commande
tkn pr delete -p <name> --keep 2
ne tenait pas compte de l'indicateur-p
lorsqu'elle était utilisée avec l'indicateur--keep
et supprimait toutes les exécutions du pipeline, à l'exception des deux dernières. Avec cette correction, la commande ne supprime que les exécutions de pipeline créées par le pipeline<name>
, à l'exception des deux dernières. -
La sortie de
tkn triggertemplate describe
affiche désormais les modèles de ressources sous forme de tableau au lieu du format YAML. -
Auparavant, la tâche de cluster
buildah
échouait lorsqu'un nouvel utilisateur était ajouté à un conteneur. Avec cette correction, le problème a été résolu.
3.1.13. Notes de publication pour Red Hat OpenShift Pipelines Technology Preview 1.0 Copier lienLien copié sur presse-papiers!
3.1.13.1. Nouvelles fonctionnalités Copier lienLien copié sur presse-papiers!
Red Hat OpenShift Pipelines Technology Preview (TP) 1.0 est maintenant disponible sur OpenShift Container Platform 4.4. Red Hat OpenShift Pipelines TP 1.0 est mis à jour pour prendre en charge :
- Tekton Pipelines 0.11.3
-
Tekton
tkn
CLI 0.9.0 - Tekton Triggers 0.4.0
- tâches en grappe basées sur le catalogue Tekton 0.11
En plus des corrections et des améliorations de la stabilité, les sections suivantes mettent en évidence les nouveautés de Red Hat OpenShift Pipelines 1.0.
3.1.13.1.1. Pipelines Copier lienLien copié sur presse-papiers!
- Prise en charge de la version v1beta1 de l'API.
- Prise en charge d'une plage de limites améliorée. Auparavant, la plage de limites était spécifiée exclusivement pour l'exécution de la tâche et l'exécution du pipeline. Désormais, il n'est plus nécessaire de spécifier explicitement la plage de limites. La plage de limites minimale de l'espace de noms est utilisée.
- Prise en charge du partage des données entre les tâches à l'aide des résultats et des paramètres des tâches.
-
Les pipelines peuvent désormais être configurés pour ne pas écraser la variable d'environnement
HOME
et le répertoire de travail des étapes. -
À l'instar des tâches,
sidecars
prend désormais en charge le mode script. -
Vous pouvez désormais spécifier un nom de planificateur différent dans la ressource d'exécution de la tâche
podTemplate
. - Prise en charge de la substitution de variables à l'aide de la notation en tableau étoilé.
- Le contrôleur Tekton peut désormais être configuré pour surveiller un espace de noms individuel.
- Un nouveau champ de description est désormais ajouté à la spécification des pipelines, des tâches, des tâches en grappe, des ressources et des conditions.
- Ajout de paramètres proxy aux ressources du pipeline Git.
3.1.13.1.2. L'interface de programmation des pipelines Copier lienLien copié sur presse-papiers!
-
La sous-commande
describe
est désormais ajoutée pour les ressourcestkn
suivantes :EventListener
,Condition
,TriggerTemplate
,ClusterTask
, etTriggerSBinding
. -
La prise en charge de
v1beta1
a été ajoutée aux ressources suivantes, ainsi que la compatibilité ascendante pourv1alpha1
:ClusterTask
,Task
,Pipeline
,PipelineRun
, etTaskRun
. Les commandes suivantes peuvent désormais lister les résultats de tous les espaces de noms en utilisant l'option
--all-namespaces
:tkn task list
,tkn pipeline list
,tkn taskrun list
,tkn pipelinerun list
La sortie de ces commandes est également améliorée pour afficher des informations sans en-tête à l'aide de l'option
--no-headers
.-
Vous pouvez maintenant démarrer un pipeline en utilisant les valeurs de paramètres par défaut en spécifiant l'indicateur
--use-param-defaults
dans la commandetkn pipelines start
. -
La prise en charge de l'espace de travail est désormais ajoutée aux commandes
tkn pipeline start
ettkn task start
. -
Une nouvelle commande
clustertriggerbinding
a été ajoutée avec les sous-commandes suivantes :describe
,delete
, etlist
. -
Vous pouvez désormais lancer directement un pipeline à l'aide d'un fichier local ou distant
yaml
. -
La sous-commande
describe
affiche désormais une sortie améliorée et détaillée. Avec l'ajout de nouveaux champs, tels quedescription
,timeout
,param description
, etsidecar status
, la sortie de la commande fournit désormais des informations plus détaillées sur une ressourcetkn
spécifique. -
La commande
tkn task log
affiche désormais les journaux directement si une seule tâche est présente dans l'espace de noms.
3.1.13.1.3. Déclencheurs Copier lienLien copié sur presse-papiers!
-
Les déclencheurs peuvent désormais créer des ressources de pipeline
v1alpha1
etv1beta1
. -
Prise en charge de la nouvelle fonction d'interception du langage d'expression commun (CEL) -
compareSecret
. Cette fonction compare en toute sécurité les chaînes de caractères aux secrets contenus dans les expressions CEL. - Prise en charge de l'authentification et de l'autorisation au niveau du déclencheur de l'auditeur d'événements.
3.1.13.2. Fonctionnalités obsolètes Copier lienLien copié sur presse-papiers!
Les éléments suivants sont obsolètes dans cette version :
La variable d'environnement
$HOME
et la variableworkingDir
dans la spécificationSteps
sont obsolètes et pourraient être modifiées dans une version ultérieure. Actuellement, dans un conteneurStep
, les variablesHOME
etworkingDir
sont remplacées par les variables/tekton/home
et/workspace
, respectivement.Dans une version ultérieure, ces deux champs ne seront pas modifiés et prendront les valeurs définies dans l'image du conteneur et dans le YAML
Task
. Pour cette version, utilisez les drapeauxdisable-home-env-overwrite
etdisable-working-directory-overwrite
pour désactiver l'écrasement des variablesHOME
etworkingDir
.-
Les commandes suivantes sont obsolètes et pourraient être supprimées dans une prochaine version :
tkn pipeline create
,tkn task create
. -
L'indicateur
-f
de la commandetkn resource create
est désormais obsolète. Il pourrait être supprimé dans une prochaine version. -
L'indicateur
-t
et l'indicateur--timeout
(avec le format des secondes) pour la commandetkn clustertask create
sont désormais obsolètes. Seul le format durée est désormais pris en charge, par exemple1h30s
. Ces drapeaux obsolètes pourraient être supprimés dans une prochaine version.
3.1.13.3. Problèmes connus Copier lienLien copié sur presse-papiers!
- Si vous effectuez une mise à niveau à partir d'une ancienne version de Red Hat OpenShift Pipelines, vous devez supprimer vos déploiements existants avant d'effectuer la mise à niveau vers Red Hat OpenShift Pipelines version 1.0. Pour supprimer un déploiement existant, vous devez d'abord supprimer les ressources personnalisées, puis désinstaller l'opérateur Red Hat OpenShift Pipelines. Pour plus de détails, consultez la section sur la désinstallation de Red Hat OpenShift Pipelines.
-
La soumission des mêmes tâches
v1alpha1
plus d'une fois entraîne une erreur. Utilisez la commandeoc replace
au lieu deoc apply
lorsque vous soumettez à nouveau une tâchev1alpha1
. La tâche
buildah
cluster ne fonctionne pas lorsqu'un nouvel utilisateur est ajouté à un conteneur.Lors de l'installation de l'Opérateur, l'indicateur
--storage-driver
pour la tâche de clusterbuildah
n'est pas spécifié, et l'indicateur prend donc sa valeur par défaut. Dans certains cas, cela entraîne un mauvais paramétrage du pilote de stockage. Lorsqu'un nouvel utilisateur est ajouté, le pilote de stockage incorrect entraîne l'échec de la tâche de clusterbuildah
avec l'erreur suivante :useradd: /etc/passwd.8: lock file already used useradd: cannot lock /etc/passwd; try again later.
useradd: /etc/passwd.8: lock file already used useradd: cannot lock /etc/passwd; try again later.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour contourner le problème, définissez manuellement la valeur de l'indicateur
--storage-driver
àoverlay
dans le fichierbuildah-task.yaml
:Connectez-vous à votre cluster en tant que
cluster-admin
:oc login -u <login> -p <password> https://openshift.example.com:6443
$ oc login -u <login> -p <password> https://openshift.example.com:6443
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Utilisez la commande
oc edit
pour éditer la tâche de clusterbuildah
:oc edit clustertask buildah
$ oc edit clustertask buildah
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La version actuelle du fichier YAML de
buildah
clustertask s'ouvre dans l'éditeur défini par votre variable d'environnementEDITOR
.Sous le champ
Steps
, localisez le champcommand
suivant :command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']
command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Remplacer le champ
command
par le champ suivant :command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']
command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Enregistrez le fichier et quittez.
Vous pouvez également modifier le fichier YAML de la tâche de cluster
buildah
directement sur la console web en naviguant vers PipelinesCluster Tasks buildah. Sélectionnez Edit Cluster Task dans le menu Actions et remplacez le champ command
comme indiqué dans la procédure précédente.
3.1.13.4. Problèmes corrigés Copier lienLien copié sur presse-papiers!
-
Auparavant, la tâche
DeploymentConfig
déclenchait une nouvelle construction de déploiement même lorsqu'une construction d'image était déjà en cours. Cela entraînait l'échec du déploiement du pipeline. Avec cette correction, la commandedeploy task
est maintenant remplacée par la commandeoc rollout status
qui attend que le déploiement en cours se termine. -
La prise en charge du paramètre
APP_NAME
est désormais ajoutée dans les modèles de pipeline. -
Auparavant, le modèle de pipeline pour Java S2I ne parvenait pas à rechercher l'image dans le registre. Avec cette correction, l'image est recherchée en utilisant les ressources existantes du pipeline d'images au lieu du paramètre
IMAGE_NAME
fourni par l'utilisateur. - Toutes les images d'OpenShift Pipelines sont désormais basées sur les Red Hat Universal Base Images (UBI).
-
Auparavant, lorsque le pipeline était installé dans un espace de noms autre que
tekton-pipelines
, la commandetkn version
affichait la version du pipeline sous la formeunknown
. Avec cette correction, la commandetkn version
affiche désormais la version correcte du pipeline dans n'importe quel espace de noms. -
L'indicateur
-c
n'est plus pris en charge pour la commandetkn version
. - Les utilisateurs non-administrateurs peuvent maintenant lister les liens de déclenchement des clusters.
-
La fonction de l'écouteur d'événement
CompareSecret
est maintenant corrigée pour l'intercepteur CEL. -
Les sous-commandes
list
,describe
, etstart
pour les tâches et les tâches en grappe affichent désormais correctement la sortie dans le cas où une tâche et une tâche en grappe ont le même nom. - Auparavant, l'opérateur OpenShift Pipelines modifiait les contraintes de contexte de sécurité (SCC) privilégiées, ce qui provoquait une erreur lors de la mise à niveau du cluster. Cette erreur est maintenant corrigée.
-
Dans l'espace de noms
tekton-pipelines
, les délais d'exécution de toutes les tâches et de tous les pipelines sont désormais fixés à la valeur du champdefault-timeout-minutes
à l'aide de la carte de configuration. - Auparavant, la section des pipelines dans la console web n'était pas affichée pour les utilisateurs non-administrateurs. Ce problème est désormais résolu.