Intégration des charges de travail Code Engine à Continuous Delivery
Vous pouvez automatiser la génération et le déploiement de vos charges de travail IBM Cloud® Code Engine en créant une chaîne d'outils avec Continuous Delivery. Vous pouvez créer une chaîne d'outils qui extrait votre code source d'un référentiel, puis génère et déploie votre application ou votre travail. Chaque fois que vous mettez à jour le code source dans le référentiel, la chaîne d'outils extrait automatiquement votre code mis à jour, puis génère et redéploie votre application ou votre travail.
Avant de commencer
Avant de commencer à utiliser les chaînes d'outils,
-
Créez ou identifiez un projetCode Engine. Vous pouvez créer ces ressources en utilisant la console ou le CLI. Pour plus d'informations, voir ProjetsCode Engine.
-
Créez ou identifiez une instance du service Continuous Delivery.
-
Créez ou identifiez un espace de nom IBM Cloud Container Registry. Pour plus d'informations sur la création d'un espace de nom, voir le service IBM Cloud Container Registry.
Configuration de l'accès pour votre chaîne d'outils
Si vous souhaitez générer et déployer une application ou un travail avec une chaîne d'outils, définissez les droits suivants dans IAM.
IBM Cloud Container Registry
- Lecteur: pour extraire l'image du registre de conteneur.
- Programme d'écriture: pour envoyer l'image créée à l'espace de nom cible.
- Gestionnaire: pour créer l'espace de nom spécifié s'il n'existe pas.
- Administrateur: pour créer un ID de service, des règles et une clé d'API nécessaires à la configuration d'un secret de registre Code Engine à utiliser pour l'application ou le travail.
Code Engine
- Editeur: pour accéder à un projet Code Engine ou pour en créer un, s'il n'existe pas.
- Writer: permet de gérer des applications, des travaux et des secrets dans le projet Code Engine.
Groupe de ressources:
- Afficheur: pour afficher le groupe de ressources dans lequel se trouve le projet Code Engine.
Si vous souhaitez que votre application lie un autre service IBM Cloud, vous devez définir les droits supplémentaires suivants.
Tous les services avec l'offre Identity and Access activée
- Administrateur: pour créer un ID de service, des règles et une clé d'API pour configurer un secret d'accès au service Code Engine, qui est utilisé pour gérer les données d'identification du service afin de connecter des services individuels à une application ou un travail Code Engine.
Création d'une chaîne d'outils
Vous pouvez créer une chaîne d'outils à partir de la page Chaîne d'outils en sélectionnant Créer une chaîne d'outils, puis en choisissant le modèle Code Engine. Vous voulez suivre un tutoriel ? Voir Développement et déploiement d'une application à l'aide de Code Engine.
Options Code Engine dans votre chaîne d'outils
Vous pouvez définir les options suivantes pour votre chaîne d'outils Code Engine en éditant votre ci-pipeline Configuration et en sélectionnant Propriétés d'environnement.
| Option | Description |
|---|---|
apikey |
Clé d'API IBM Cloud utilisée pour cette chaîne d'outils. |
app-concurrency |
Nombre maximal de demandes pouvant être traitées simultanément par instance. La valeur par défaut est 100. |
app-deployment-timeout |
Délai en secondes avant la réussite ou l'échec de la génération. |
app-health-endpoint |
Noeud final d'intégrité de l'application ; par exemple, /health. |
app-max-scale |
Nombre maximal d'instances pouvant être utilisées pour cette application. Si vous définissez cette valeur sur 0, les mises à l'échelle d'application sont nécessaires. La mise à l'échelle de l'application est limitée uniquement
par les instances par le quota de ressources alloué pour le projet de votre application. Voir Limites et quotas pour Code Engine. La valeur par défaut est 10. |
app-min-scale |
Nombre minimal d'instances pouvant être utilisées pour cette application. Cette option permet de s'assurer qu'aucune instance n'est en cours d'exécution lorsque cela n'est pas nécessaire. Cette valeur est facultative. La valeur par défaut
est 0. |
app-name |
Nom de l'application. Utilisez un nom unique dans le projet. |
app-port |
Le port sur lequel l'application écoute les connexions entrantes. Le format est [NAME:]PORT, où [NAME:] est facultatif. Si [NAME:] est spécifié, les valeurs valables sont h2c ou http1.
Par défaut, Code Engine suppose que les applications écoutent les connexions entrantes sur le port 8080. |
app-visibility |
La visibilité de l'application. Les valeurs valables sont public, private et project. La définition d'une visibilité de public signifie que votre application peut recevoir des demandes
provenant de l'Internet public ou des composants du projet Code Engine. Voir Options de visibilité pour une application Code Engine. |
branch |
La branche du référentiel qui contient le fichier buildpacks ou le fichier Docker. La valeur par défaut est main. |
build-size |
Taille de la génération, qui détermine la quantité de ressources utilisée. Les valeurs valides sont small, medium, large, xlarge et xxlarge. Pour plus de détails, voir
Définition de la taille de la génération. |
build-strategy |
Stratégie à utiliser pour générer l'image. Les valeurs valides sont dockerfile et buildpacks. |
build-timeout |
Délai en secondes avant la réussite ou l'échec de l'exécution de génération. La valeur par défaut est 1200 secondes. |
build-use-native-docker |
Propriété facultative à utiliser pour l'utilisation des fonctions de génération Docker natives à la place de la génération Code Engine pour conteneuriser la source. Vous ne pouvez sélectionner cette valeur que si build-strategy est défini sur dockerfile. Les valeurs admises sont true et false. |
code-engine-project |
Projet contenant cette application. |
cpu |
Quantité d'UC définie pour l'instance de l'application. Pour prendre connaissance des valeurs valides, voir Combinaisons de mémoire et d'unité centrale prises en charge. La
valeur par défaut est 1. |
deployment-type |
Indique le type de déploiement. Les valeurs valides sont application et job. |
ephemeral-storage |
Quantité de stockage éphémère à définir pour l'instance de l'application. Utilisez M pour mégaoctets ou G pour gigaoctets. |
git-token |
Jeton d'accès pour le référentiel Git. |
image-name |
Nom de l'image utilisée pour cette application. Le format est REGISTRY/NAMESPACE/REPOSITORY:TAG, où REGISTRY et TAG sont facultatifs. Si REGISTRY n'est pas spécifié, la valeur par défaut
est docker.io. Si TAG n'est pas spécifié, la valeur par défaut est latest. |
memory |
Quantité de mémoire définie pour l'instance de l'application. Utilisez M pour mégaoctets ou G pour gigaoctets. Pour prendre connaissance des valeurs valides, voir Combinaisons de mémoire et d'unité centrale prises en charge.
La valeur par défaut est 4G. |
path-to-context |
Répertoire inclus dans le référentiel qui contient le fichier de packs de construction ou le fichier Dockerfile. |
path-to-dockerfile |
Chemin d'accès au Dockerfile. Spécifiez cette option uniquement si le nom est différent de Dockerfile. |
pipeline-debug |
Mode de débogage du pipeline. La valeur peut être 0 ou 1. La valeur par défaut est 0. |
region |
La région où se trouve le projet Code Engine |
registry-namespace |
Espace de nom du registre de conteneur qui stocke l'image générée. |
registry-region |
Région du registre de conteneur. |
resource-group |
Groupe de ressources qui contient le projet Code Engine. |
service-bindings |
Liaison de service qui lie une instance de service IBM Cloud à une application. Cette valeur se présente sous la forme "{"<SERVICE_INSTANCE_NAME>": "<BINDING_PREFIX>"}".
Par exemple, "{"object-store-rg-e": "CLOUD_OBJECT_STORAGE"}. Cette valeur doit être dans base64. |
Pour plus d'options, voir les Propriétés d'environnement de votre pipeline dans les paramètres de votre chaîne d'outils.
Traitement des incidents liés à la chaîne d'outils
Identifiez et résolvez les problèmes liés à votre chaîne d'outils Code Engine à l'aide des rubriques suivantes.