Configuration de Terraform pour Continuous Delivery
Continuous Delivery sera supprimé dans les régions suivantes le 12 février 2027 : au-syd, ca-tor, us-east. Code Risk Analyzer sera également retiré du marché dans toutes les régions à cette date. Si ces fonctionnalités ne sont pas activement utilisées dans une région donnée, elles pourraient être supprimées plus tôt dans cette région et ne plus accepter de nouvelles instances. En savoir plus
Terraform sur IBM Cloud® permet la création prévisible et cohérente de services IBM Cloud, afin que vous puissiez rapidement mettre en place des environnements cloud complexes et à plusieurs niveaux en suivant les principes de l’Infrastructure as Code ( IaC ). Tout comme pour l'utilisation de la CLI ou de l'API d' IBM Cloud, ainsi que des SDK, vous pouvez automatiser la création, la mise à jour et la suppression de vos instances IBM Cloud® Continuous Delivery à l'aide du langage de configuration d' HashiCorp (HCL).
Vous recherchez une solution Terraform on IBM Cloud® gérée ? Essayez IBM Cloud® Schematics. Avec Schematics, vous pouvez utiliser le langage de script Terraform que vous maîtrisez sans avoir à vous soucier de la configuration et de la maintenance de la ligne de commande Terraform et du plug-in IBM Cloud® Provider. Schematics fournit également des modèles Terraform prédéfinis que vous pouvez facilement installer à partir du catalogue IBM Cloud®.
Installation de Terraform et configuration des ressources pour Continuous Delivery
Avant de commencer, vérifiez que vous disposez des droits d'accès requis pour créer et utiliser des ressources continuous-delivery, ainsi que des
droits d'accès requis pour créer et utiliser des ressources toolchain.
-
Suivez le tutoriel d'initiation à Terraform on IBM Cloud pour installer l'interface de ligne de commande de Terraform et configurer le plug-in IBM Cloud Provider pour Terraform. Le plug-in fait abstraction des API d' IBM Cloud utilisées pour créer, mettre à jour ou supprimer des instances de service
continuous-deliveryet des ressourcestoolchain. -
Créez un fichier de configuration Terraform nommé
main.tf. Dans ce fichier, ajoutez la configuration permettant de créer une instance du service Continuous Delivery et d’attribuer à un utilisateur une politique d’accès dans Identity and Access Management (IAM) pour cette instance à l’aide de HCL. Vous ajoutez également la configuration pour créer une ressource de chaîne d'outils de base dans le même groupe de ressources et la même région que l'instance de service Continuous Delivery et pour affecter à un utilisateur une règle d'accès dans IAM pour cette ressource. La chaîne d'outils et l'instance de service Continuous Delivery qui régit l'utilisation de la chaîne d'outils se trouvent dans le même groupe de ressources et la même région. Pour plus d'informations sur l'utilisation du fichier de configuration Terraform, voir la documentation Terraform.L'instance de service Continuous Delivery dans l'exemple suivant est nommée
my_cd. Il est créé avec le plan de tarification professionnel dans le groupe de ressourcesdefaultet dans la régionus-south. Le rôle Gestionnaire est affecté à l'utilisateuruser1@ibm.comdans la règle d'accès IAM pour l'instance de service.La ressource de chaîne d'outils est nommée
my_toolchain. Il est créé dans le groupe de ressourcesdefaultet dans la région spécifiée dans le blocprovider "ibm"de votre fichierprovider.tf. Pour cet exemple,regiondansprovider.tfest défini surus-south. Le rôle Editeur est affecté à l'utilisateuruser2@ibm.comdans la règle d'accès IAM pour la ressource de chaîne d'outils.data "ibm_resource_group" "default_rg" { name = "default" } resource "ibm_resource_instance" "cd_instance" { name = "my_cd" service = "continuous-delivery" plan = "professional" location = "us-south" resource_group_id = data.ibm_resource_group.default_rg.id } resource "ibm_iam_user_policy" "cd_policy" { ibm_id = "user1@ibm.com" roles = ["Manager"] resources { service = "continuous-delivery" resource_instance_id = element(split(":", ibm_resource_instance.cd_instance.id), 7) } } resource "ibm_cd_toolchain" "toolchain_instance" { name = "my_toolchain" resource_group_id = data.ibm_resource_group.default_rg.id } resource "ibm_iam_user_policy" "toolchain_policy" { ibm_id = "user2@ibm.com" roles = ["Editor"] resources { service = "toolchain" resource_instance_id = ibm_cd_toolchain.toolchain_instance.id } } -
Initialisez l'interface de ligne de commande de Terraform.
terraform init -
Créez un plan d'exécution Terraform. Le plan d'exécution Terraform récapitule toutes les actions que vous devez exécuter pour créer l'instance de service Continuous Delivery, la ressource de chaîne d'outils et les règles d'accès IAM associées dans votre compte.
terraform plan -
Créez l'instance de service Continuous Delivery, la ressource de chaîne d'outils et les règles d'accès IAM associées dans votre compte dans IBM Cloud.
terraform apply -
Dans la liste des ressourcesIBM Cloud, développez la section Developer tools, puis sélectionnez l'instance de service Continuous Delivery que vous avez créée et notez l'ID d'instance.
-
Vérifiez que la règle d'accès a été affectée. Pour plus d'informations sur l'affectation de règles d'accès, voir Révision des accès affectés dans la console.
-
Dans la liste des ressourcesIBM Cloud, développez la section Developer tools, puis sélectionnez la ressource de chaîne d'outils que vous avez créée et notez l'ID d'instance.
-
Vérifiez que la règle d'accès a été affectée.
Activation des journaux de plate-forme pour une instance de service Continuous Delivery avec Terraform
Le service Continuous Delivery permet d'envoyer les journaux Tekton PipelineRun en tant que journaux de plate-forme. Cela permet de recevoir tous les journaux de Tekton PipelineRun pour la région et le groupe de ressources
actuels dans votre compte, et vous pouvez configurer votre compte pour qu'il transmette ces journaux reçus à une cible telle que IBM Cloud Logs.
-
Dans votre fichier de configuration Terraform, ajustez la configuration pour inclure le paramètre
platform_logging_pipelineruns_enabledavec une valeur detrue.data "ibm_resource_group" "group" { name = "default" } resource "ibm_resource_instance" "cd_instance" { name = "my_cd" service = "continuous-delivery" plan = "professional" location = "us-south" resource_group_id = data.ibm_resource_group.default_rg.id parameters = { platform_logging_pipelineruns_enabled = "true" } }
Étape suivante ?
Maintenant que vous avez créé avec succès votre première instance de service Continuous Delivery et votre ressource de chaîne d'outils avec Terraform sur IBM Cloud, vous pouvez choisir parmi les tâches suivantes :
- Suppression d'une instance de service Continuous Delivery
- Utilisation de chaînes d'outils
- Configuration des intégrations d'outils
- Utilisation des pipelines Tekton
- Utilisation d'agents privés Delivery Pipeline
- Création de chaînes d'outils avec Git
- Ajout de DevOps Insights à votre chaîne d'outils
- Gestion des données personnelles pour Continuous Delivery
Pour plus d'informations sur les ressources et les sources de données du fournisseur IBM Cloud, voir la documentation du registre Terraform.