Débogage des générations
Apprenez à traiter les incidents liés aux générations IBM Cloud® Code Engine et aux exécutions de votre génération à l'aide des astuces de traitement des incidents.
Que vous exécutiez votre génération depuis la console ou depuis l'interface de ligne de commande, utilisez l'interface de ligne de commande pour traiter les problèmes liés à votre génération.
- Exécutez la commande
ibmcloud ce buildrun get --name BUILDRUN_NAMEpour afficher les détails de votre exécution de génération. - Consultez la section
Reasondans la sortie de la commande.
Si votre génération ne se comporte pas comme prévu, consultez les journaux et les événements système pour obtenir des informations pouvant contribuer au débogage.
Limites relatives aux générations à prendre en compte
Le nombre maximal de configurations de génération possibles par projet est 100. Si vous atteignez le nombre total de 100 exécutions de génération par projet, vous devez retirer ou nettoyer d'anciennes exécutions.
Pour plus d'informations sur les limites pour les générations, notamment relatives à la mémoire et à l'unité centrale, voir Limites et quotas pour Code Engine.
Avec l'interface de ligne de commande, vous pouvez utiliser la commande ibmcloud ce project get pour afficher des informations sur les limites
et l'utilisation actuelle. Exemple :
ibmcloud ce project get --name myproject
Exemple de sortie
Getting project 'myproject'...
OK
Name: myproject
ID: abcdabcd-abcd-abcd-abcd-f1de4aab5d5d
Status: active
Enabled: true
Application Private Visibility Supported: true
Selected: true
Region: us-south
Resource Group: default
Service Binding Service ID: ServiceId-1234abcd-abcd-abcd-1111-1a2b3c4d5e6f
Age: 52d
Created: Tue, 28 Sep 2021 05:12:16 -0500
Updated: Tue, 28 Sep 2021 05:12:19 -0500
Quotas:
Category Used Limit
App revisions 2 120
Apps 1 40
Build runs 1 100
Builds 2 100
Configmaps 2 100
CPU 0 128
Ephemeral storage 0 512G
Functions 0 20
Instances (active) 0 250
Instances (total) 0 2500
Job runs 13 100
Jobs 2 100
Memory 0 512G
Secrets 6 100
Subscriptions (cron) 0 100
Subscriptions (IBM Cloud Object Storage) 0 100
Subscriptions (Kafka) 0 100
Obtention des journaux pour mes générations
Les journaux peuvent être utiles pour traiter les problèmes survenant lorsque vous exécutez des générations. Vous pouvez consulter les journaux des générations depuis l'interface de ligne de commande ou la console.
Obtention des journaux pour mes générations à partir de la console
Vous pouvez afficher les journaux d'instances d'exécution de génération spécifiques à partir de la console.
- Accédez au tableau de bord Code Engine.
- Sélectionnez un projet (ou créez-en un).
- Sur la page du projet, cliquez sur Générations d'image.
- Dans l'onglet Génération d'image, cliquez sur le nom de votre génération d'image pour ouvrir la page de génération d'une génération définie ou créez une génération.
- A partir de la page de la génération définie, cliquez sur le nom de l'instance de l'exécution de génération dans la section Exécutions de génération. Vous pourriez être amené à cliquer sur Soumettre une génération pour créer une exécution de génération.
- Les informations du journal de génération sont maintenant visibles dans la page de l'instance d'exécution de génération. Développez des étapes de génération spécifiques pour afficher des informations de journalisation détaillées.
Pour plus d'informations, voir Affichage des journaux de génération à partir de la console.
Obtention des journaux pour mes générations à l'aide de l'interface de ligne de commande
Utilisez la commande ibmcloud ce buildrun logs pour afficher les journaux relatifs à l'exécution de génération. Utilisez cette commande pour
afficher les journaux de toutes les instances d'une exécution de génération en fonction du nom de l'exécution de génération.
Pour afficher les journaux de toutes les instances de l'exécution de génération mybuildrun, spécifiez le nom de l'exécution de génération avec l'option --name ; par exemple :
ibmcloud ce buildrun logs --name mybuildrun
Exemple de sortie
Getting build run 'mybuildrun'...
Getting instances of build run 'mybuildrun'...
Getting logs for build run 'mybuildrun'...
OK
mybuildrun-bvzbg-pod-tppvg/step-source-default:
2021/09/21 09:39:08 Info: ssh (/usr/bin/ssh): OpenSSH_8.0p1, OpenSSL 1.1.1g FIPS 21 Apr 2020
2021/09/21 09:39:08 Info: git (/usr/bin/git): git version 2.27.0
2021/09/21 09:39:08 Info: git-lfs (/usr/bin/git-lfs): git-lfs/2.11.0 (GitHub; linux amd64; go 1.14.4)
2021/09/21 09:39:08 /usr/bin/git clone --quiet --no-tags --branch main --depth 1 --single-branch -- https://github.com/IBM/CodeEngine /workspace/source
2021/09/21 09:39:09 /usr/bin/git -C /workspace/source submodule update --init --recursive --depth 1
2021/09/21 09:39:10 /usr/bin/git -C /workspace/source rev-parse --abbrev-ref HEAD
2021/09/21 09:39:10 Successfully loaded https://github.com/IBM/CodeEngine (main) into /workspace/source
2021/09/21 09:39:10 /usr/bin/git -C /workspace/source rev-parse --verify HEAD
mybuildrun-bvzbg-pod-tppvg/step-build-and-push:
INFO[0000] Retrieving image manifest golang:alpine
INFO[0000] Retrieving image golang:alpine from registry index.docker.io
INFO[0001] Retrieving image manifest alpine
INFO[0001] Retrieving image alpine from registry index.docker.io
INFO[0003] Built cross stage deps: map[0:[/codeengine]]
INFO[0003] Retrieving image manifest golang:alpine
INFO[0003] Returning cached image manifest
INFO[0003] Executing 0 build triggers
INFO[0003] Unpacking rootfs as cmd COPY ./helloworld /helloworld requires it.
INFO[0009] COPY ./helloworld /helloworld
INFO[0009] Taking snapshot of files...
INFO[0009] COPY codeengine.go /
INFO[0009] Taking snapshot of files...
INFO[0009] RUN go build -o /codeengine /codeengine.go
INFO[0009] Taking snapshot of full filesystem...
INFO[0017] cmd: /bin/sh
INFO[0017] args: [-c go build -o /codeengine /codeengine.go]
INFO[0017] Running: [/bin/sh -c go build -o /codeengine /codeengine.go]
INFO[0018] Taking snapshot of full filesystem...
INFO[0018] Saving file codeengine for later use
INFO[0018] Deleting filesystem...
INFO[0019] Retrieving image manifest alpine
INFO[0019] Returning cached image manifest
INFO[0019] Executing 0 build triggers
INFO[0019] Unpacking rootfs as cmd COPY --from=0 /codeengine /codeengine requires it.
INFO[0019] COPY --from=0 /codeengine /codeengine
INFO[0019] Taking snapshot of files...
INFO[0019] CMD /codeengine
INFO[0019] Pushing image to us.icr.io/acme-namespace/codeengine-sample
INFO[0023] Pushed image to 1 destinations
Obtention des informations sur les événements système pour mes générations
Les informations sur les événements système peuvent être utiles pour traiter les problèmes survenant lorsque vous exécutez des générations. Vous pouvez afficher des informations sur les événements système pour les générations depuis l'interface de ligne de commande.
-
Utilisez la commande
ibmcloud ce buildrun listpour répertorier toutes vos exécutions de génération dans un projet ; par exemple,ibmcloud ce buildrun list -
Utilisez la commande
ibmcloud ce buildrun getpour obtenir les détails d'une exécution de génération. Exemple :ibmcloud ce buildrun get --name mybuildrunExemple de sortie
Getting build run 'mybuildrun'... Run 'ibmcloud ce buildrun events -n mybuildrun' to get the system events of the build run. Run 'ibmcloud ce buildrun logs -f -n mybuildrun' to follow the logs of the build run. OK Name: mybuilddrun [...] Created: 2021-06-01T11:43:24-04:00 Summary: Succeeded Status: Succeeded Reason: All Steps have completed executing Image: us.icr.io/mynamespace/codeengine-codeengine-200Si vous souhaitez des détails plus détaillés sur votre exécution de génération, utilisez l'option
--o yamlavec la commandebuildrun get; par exemple,ibmcloud ce buildrun get --name myapp --o yaml. Cette option permet d'afficher des informations plus détaillées dans l'interface de ligne de commande pour l'exécution de la génération. -
Affichez les événements système de votre exécution de génération. Utilisez la commande
ibmcloud ce buildrun events. Exemple :ibmcloud ce buildrun events --name mybuildrunExemple de sortie
Getting build run 'mybuildrun'... Getting instances of build run 'mybuildrun'... Getting events for build run 'mybuildrun'... OK mybuildrun-bvzbg-pod-tppvg: Type Reason Age Source Messages Normal Scheduled 4m43s default-scheduler Successfully assigned 62ckpsxlh7x/mybuildrun-bvzbg-pod-tppvg to 10.242.0.17 Normal Pulled 4m42s kubelet, 10.242.0.17 Container image "icr.io/obs/codeengine/tekton-pipeline/entrypoint-bff0a22da108bc2f16c818c97641a296:v0.23.0-rc6@sha256:43dd56a6c7c10f80300a861615f6f8d91c026deba744f81553a4e536b301b322" already present on machine Normal Created 4m42s kubelet, 10.242.0.17 Created container place-tools Normal Started 4m41s kubelet, 10.242.0.17 Started container place-tools Normal Pulled 4m40s kubelet, 10.242.0.17 Container image "icr.io/obs/codeengine/git:v0.8.100" already present on machine Normal Created 4m40s kubelet, 10.242.0.17 Created container step-source-default Normal Started 4m40s kubelet, 10.242.0.17 Started container step-source-default Normal Pulled 4m40s kubelet, 10.242.0.17 Container image "icr.io/obs/codeengine/buildkit/builder:v0.9.0-rc.19" already present on machine Normal Created 4m40s kubelet, 10.242.0.17 Created container step-build-and-push Normal Started 4m40s kubelet, 10.242.0.17 Started container step-build-and-pushLes événements ne sont stockés dans le système que pendant une heure.