Foires aux questions sur Delivery Pipeline
Obtenez des réponses aux questions fréquentes relatives à l'utilisation d'Delivery Pipeline.
Comment puis-je transférer des artefacts entre les travaux de pipeline ?
Lorsqu'une étape s'exécute, l'entrée de l'étape est transmise à chaque travail de l'étape. Chaque travail obtient un conteneur propre dans lequel il peut s'exécuter. Par conséquent, les travaux à l'intérieur d'une étape ne peuvent pas se transmettre des artefacts entre eux. Pour transmettre des artefacts d'un travail à un autre, séparez les travaux dans deux étapes et utilisez la sortie du travail de la première étape comme entrée de la seconde étape.
Pour plus d'informations sur les travaux de pipeline, voir Travaux.
Existe-t-il une limite de temps maximale pour l'exécution de mes travaux de pipeline ?
Les longueurs des travaux de pipeline Classic et des exécutions de pipeline de Tekton sont déterminées par le travailleur privé sur lequel l'exécution du pipeline se produit. Sur les travailleurs gérés par IBM, cette valeur est de 6 heures. Sous Delivery Pipeline Private Workers autogéré, la durée par défaut de l'exécution d'un pipeline est de 24 heures.
À quel point les propriétés sécurisées du pipeline sont-elles sûres ?
Les propriétés sécurisées du pipeline sont chiffrées avec AES-128 et déchiffrées immédiatement avant leur transmission à votre script de pipeline. Ces propriétés sont également masquées à l'aide d'astérisques dans l'interface utilisateur des propriétés et dans les fichiers journaux de votre pipeline. Avant que les données ne soient écrites dans le fichier journal de votre travail de pipeline, elles sont analysées pour trouver des correspondances exactes avec toutes les valeurs des propriétés sécurisées du pipeline. Si une correspondance est trouvée, elle est masquée par des astérisques. Soyez prudent lorsque vous travaillez avec des propriétés sécurisées et des fichiers journaux car seules les correspondances exactes sont masquées.
Comment puis-je trouver des informations sur les variables d'environnement utilisées dans les travaux de pipeline ?
Pour obtenir des informations sur les propriétés d'environnement et les ressources disponibles par défaut dans les environnements de pipeline, voir Propriétés et ressources d'environnement.
Puis-je utiliser l'interface de ligne de commande d'IBM Cloud pour exécuter une étape de pipeline ?
Vous pouvez utiliser le plug-in d'interface de ligne de commande d'IBM Cloud Developer Tools pour exécuter une étape de pipeline.
-
Depuis la ligne de commande, exécutez la commande suivante pour démarrer manuellement votre pipeline :
ibmcloud dev pipeline-run pipelineID --stage-id stageID
Pour plus d'informations sur la commande pipeline-run, voir pipeline-run.
Puis-je télécharger le fichier yaml d'un pipeline de distribution ?
Vous pouvez exporter la définition d'un pipeline entier en ajoutant /yaml à son URL. Pour plus d'informations sur l'exportation de la définition d'un pipeline complet, voir Modifying, exporting, and deleting Continuous Delivery pipeline data.
Puis-je gérer les pipelines de distribution à l'aide de Terraform?
Vous pouvez utiliser Terraform pour mettre à disposition, mettre à jour et démettre à disposition des pipelines Tekton, des définitions, des propriétés, des déclencheurs et des propriétés de déclencheur. Pour plus d'informations sur l'utilisation
de Terraform avec des pipelines Tekton, voir Utilisation de pipelines Tekton et la documentation des ressources ibm_cd_tekton_pipeline.
Vous ne pouvez pas utiliser Terraform pour déclencher des exécutions de pipeline Tekton ou pour gérer des exécutions de pipeline Tekton et des journaux. Vous pouvez effectuer ces tâches avec les API de pipeline Tekton ou à l'aide de la console.
Vous ne pouvez pas utiliser Terraform pour gérer des pipelines Classic. Vous pouvez gérer les pipelines classiques uniquement à l'aide de la console.
Puis-je gérer les pipelines de distribution à l'aide d'une API?
Vous pouvez utiliser les API d' HTTP ou certains SDK de langages de programmation pour créer, mettre à jour et supprimer des pipelines, des définitions, des propriétés, des déclencheurs et des propriétés de déclencheurs Tekton. Vous pouvez également utiliser les API et les logiciels SDK pour déclencher des exécutions de pipeline Tekton et pour gérer les exécutions de pipeline Tekton et les journaux. Pour plus d'informations sur l'utilisation des pipelines Tekton avec l'API, voir Utilisation des pipelines Tekton et la documentation sur les API Tekton Pipeline CD.
Vous ne pouvez pas utiliser d'API pour gérer des pipelines Classic. Vous pouvez gérer les pipelines classiques uniquement à l'aide de la console.
Quelle est la différence entre ibm_cd_toolchain_tool_pipeline et ibm_cd_tekton_pipeline dans Terraform?
Une ressource ibm_cd_tekton_pipeline représente un pipeline Tekton. Une ressource ibm_cd_toolchain_tool_pipeline représente l'intégration d'outils qui lie un pipeline Tekton à une chaîne d'outils. Dans l'architecture
de la plateforme de chaîne d'outils Continuous Delivery, les intégrations d'outils sont des entités distinctes des outils qu'elles représentent. Une intégration d'outils est détenue par une chaîne d'outils, fait référence à un outil et gère
la manière dont l'outil fournit ses capacités à la chaîne d'outils.
Pour construire une chaîne d'outils qui inclut un pipeline Tekton, vous devez déclarer trois ressources:
- Une ressource
ibm_cd_toolchainqui correspond à la chaîne d'outils. - Un Ressource
ibm_cd_toolchain_tool_pipelinequi est l'intégration d'outils qui lie le pipeline Tekton à la chaîne d'outils. - Un Ressource
ibm_cd_tekton_pipelinequi est le pipeline Tekton.
L'exemple suivant illustre une chaîne d'outils construite en déclarant ces ressources.
data "ibm_resource_group" "group" {
name = "default"
}
resource "ibm_cd_toolchain" "cd_toolchain" {
name = "my toolchain"
resource_group_id = data.ibm_resource_group.group.id
}
resource "ibm_cd_toolchain_tool_pipeline" "cd_pipeline_integration" {
toolchain_id = ibm_cd_toolchain.cd_toolchain.id
parameters {
name = "my pipeline integration"
}
}
resource "ibm_cd_tekton_pipeline" "cd_pipeline" {
pipeline_id = ibm_cd_toolchain_tool_pipeline.cd_pipeline_integration.tool_id
worker {
id = "public"
}
}