Modifier localement la définition de la pile d'architecture déployable
Le fichier de définition de la pile définit les architectures déployables membres qui sont empilées pour former une architecture déployable plus complexe. Il spécifie des informations sur la manière dont ces architectures déployables sont censées être reliées les unes aux autres, comme les références d'entrée qui relient les architectures entre elles. Si vous envisagez de partager cette solution avec d'autres personnes par le biais d'un catalogue privé, une définition de la pile est nécessaire pour garantir un déploiement réussi.
À moins que vous n' empiliez des architectures déployables dans un projet et que vous ne souhaitiez partager cette solution avec d'autres par le biais d'un catalogue privé, vous n'avez pas besoin d'utiliser le fichier de définition de la pile.
La définition de pile contient des variables de pile. Ces variables sont des entrées que les utilisateurs peuvent configurer et des sorties d'architectures déployables empilées qui s'affichent au niveau parent. Ces valeurs d'entrée sont référencées dans les architectures déployables des membres, comme l'illustre l'image suivante. La définition de la pile comprend également des éléments provenant des architectures déployables des membres. Ces entrées peuvent être des références qui relient les architectures déployables entre elles. Les entrées qui nécessitent une valeur ou une référence spécifique pour déployer la solution avec succès doivent être incluses dans la définition de la pile. Pour un exemple, voir Création de la définition de pile à l’aide de l’interface de ligne de commande.
Utilisation de la console pour créer la définition de la pile
Dans un projet, votre définition de pile est créée automatiquement lorsque vous empilez des architectures déployables et que vous définissez des variables. L'utilisation de la console pour empiler des architectures déployables et définir des variables de pile offre les avantages suivants :
- Vous pouvez utiliser le sélecteur de références dans la console pour créer des références entre des architectures déployables empilées, au lieu d'écrire les références à partir de zéro.
- Le déploiement des architectures empilées d'un projet permet de vérifier que la solution globale fonctionne comme prévu avant que d'autres ne la configurent et ne la déploient.
- Étant donné que la définition de la pile est créée automatiquement en fonction des sélections dans la console, les informations telles que les identifiants de localisateur de version des architectures déployables membres sont précises et mises à jour automatiquement.
Dans le projet, vous pouvez sélectionner les entrées que vous souhaitez inclure au niveau de la pile. Ces entrées sont incluses dans la section inputs
de la définition de la pile et sont configurées comme références dans l'architecture
déployable des membres de votre projet. Dans l'image suivante, l'entrée prefix
est mise en évidence dans l'architecture déployable du membre Custom Apache
. Si cette entrée est sélectionnée, le Default value
devient une référence à l'entrée au niveau de la pile. Lorsqu'un utilisateur ajoute votre solution à un projet à partir d'un catalogue, il peut configurer l'entrée prefix
et l'architecture membre Custom Apache
fera
référence à cette valeur. L'entrée fp_vsi_floating_ip_address
fait référence à une sortie d'une autre architecture déployable membre. Cette entrée ne devrait pas être sélectionnée, car cette référence relie les architectures membres
entre elles. Ces entrées provenant des architectures membres sont incluses dans la section members
du fichier de définition de la pile.
Modification de la définition de votre pile
Pour modifier votre définition de pile localement, procédez comme suit :
-
Suivez les étapes pour empiler des architectures déployables, définir des variables d'empilement et intégrer les architectures empilées dans un catalogue privé.
Configurez et déployez les architectures empilées pour vérifier que la solution fonctionne comme prévu avant de l'ajouter à un catalogue privé.
-
Une fois l'architecture déployable ajoutée à votre catalogue privé, vous accédez à la page Configurer la version du catalogue. De là, cliquez sur le menu Actions > Générer un manifeste.
Vous pouvez également utiliser la méthode de définition de pile de l'API des projets ou la commande
ibmcloud project stack-definition
de l'interface de ligne de commande des projets pour exporter la définition de pile. -
Ouvrez le fichier
stack_definition.json
. -
En utilisant l’exemple de définition comme guide, modifiez les variables d’entrée et de sortie.
-
Ajoutez le fichier dans le dossier racine de votre référentiel de code source.
La prochaine fois que vous ajouterez une nouvelle version de votre solution au catalogue, vos mises à jour seront incluses.
Exemple de fichier de définition
Il est recommandé d'utiliser un projet pour créer la définition de la pile afin d'en garantir l'exactitude. Toutefois, l'extrait de code suivant peut être utilisé comme modèle pour créer la définition de la pile à partir de zéro :
{
"inputs": [
{
"name": "Stack input 1",
"type": "string",
"hidden": false,
"required": true,
"default" : "Default value"
},
{
"name": "Stack input 2",
"type": "string",
"hidden": false,
"required": true
}
],
"outputs": [
{
"name": "Output 1 name",
"value": "The reference to this output value"
},
{
"name": "Output 2 name",
"value": "The reference to this output value"
}
],
"members": [
{
"Name": "Deployable architecture 1 name",
"Version_locator": "",
"inputs": [
{
"name": "Input 1 name",
"value": "reference"
},
{
"name": "Input 2 name",
"value": "reference"
}
]
},
{
"Name": "Deployable architecture 2 name",
"Version_locator": "",
"inputs": [
{
"name": "Input 1 name",
"value": "reference"
},
{
"name": "Input 2 name",
"value": "reference"
}
]
}
]
}
Entrées de pile
La valeur inputs
indique un tableau des variables d'entrée qui sont nécessaires pour que la solution soit déployée avec succès. Lorsqu'un utilisateur ajoute l'architecture déployable à un projet à partir d'un catalogue, il doit
configurer ces entrées avant de procéder au déploiement. Les valeurs suivantes peuvent être incluses au niveau inputs
.
"inputs": [
{
"name": "Stack input 1",
"type": "string",
"hidden": false,
"required": true,
"default" : "Default value"
},
{
"name": "Stack input 2",
"type": "string",
"hidden": false,
"required": true
}
]
name
- Le nom de votre variable d'entrée.
type
- Le type de données primitives Terraform de la variable. Par exemple,
boolean
oustring
. hidden
- Un booléen qui indique si le paramètre doit être masqué aux utilisateurs lors de l'installation.
required
- Un booléen qui indique si les utilisateurs doivent spécifier le paramètre lors de l'installation.
default
- La valeur par défaut qui doit être définie dans le catalogue.
Sorties de pile
La valeur outputs
indique un tableau des variables de sortie qui sont créées lorsque la solution est déployée. Les valeurs suivantes peuvent être incluses au niveau outputs
.
"outputs": [
{
"name": "Output 1 name",
"value": "The reference to this output value"
},
{
"name": "Output 2 name",
"value": "The reference to this output value"
}
]
name
- Le nom de la variable de sortie.
value
- La référence où la valeur peut être trouvée. Pour plus d'informations sur les références, voir Référencement des valeurs.
Contributions des membres
La valeur members
indique un tableau d'entrées et de sorties pour chaque architecture déployable empilée. Les valeurs suivantes peuvent être incluses au niveau members
.
"members": [
{
"Name": "Deployable architecture 1 name",
"Version_locator": "",
"inputs": [
{
"name": "Input 1 name",
"value": "reference"
},
{
"name": "Input 2 name",
"value": "reference"
}
]
}
]
name
- Le nom programmatique de l'architecture déployable incluse dans la pile.
version_locator
- Identifie la version de l'architecture déployable du membre. Pour trouver le localisateur de version, sélectionnez le produit dans le catalogue pour ouvrir la page des détails du catalogue. Assurez-vous que la bonne version est sélectionnée. Cliquez ensuite sur Afficher les détails.
inputs
- Entrées des architectures déployables membres qui sont empilées les unes sur les autres. Inclure des entrées avec des valeurs spécifiques qui sont nécessaires pour que la solution globale soit déployée. Si les architectures membres qui sont empilées dépendent les unes des autres, il convient d'inclure ces valeurs ici en tant que références. Pour plus d'informations, voir Référencement des valeurs. Par exemple, si l'une de vos architectures nécessite une sortie d'une autre architecture avec laquelle elle est empilée, ajoutez une référence à la sortie en tant que valeur.
name
- Le nom de votre variable d'entrée. Ne modifiez pas le nom car il doit correspondre à l’entrée utilisée dans l’architecture déployable du membre.
value
- La valeur de votre variable d'entrée. Une valeur par défaut ou une référence doit être fournie.