Debug delle build

Segui i suggerimenti per la risoluzione dei problemi per scoprire come risolvere eventuali problemi relativi alle build e all'esecuzione delle tue build su IBM Cloud® Code Engine.

Se stai eseguendo la tua build nella console o nella CLI, utilizza la CLI per la risoluzione dei problemi con la tua build.

  1. Eseguire il comando di ibmcloud ce buildrun get --name BUILDRUN_NAME per visualizzare i dettagli dell'esecuzione della build.
  2. Esaminare Reason nell'output del comando.

Quando la tua build non funziona come previsto, consultare i log e gli eventi di sistema può fornire informazioni che potrebbero aiutarti a eseguire il debug del problema.

Limiti di creazione da considerare

Il numero massimo di configurazioni di build che è possibile avere per progetto è 100. Si è limitati a un totale di 100 esecuzioni di build per progetto prima di dover rimuovere o ripulire quelle vecchie.

Per ulteriori informazioni sui limiti per le build, inclusi la memoria e la CPU, vedi Limiti e quote per Code Engine.

Con la CLI, puoi utilizzare il comando ibmcloud ce project get per visualizzare le informazioni sui limiti e sull'uso corrente. Ad esempio:

ibmcloud ce project get --name myproject

Output di esempio

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

Richiamo dei log per le mie build

I log possono essere utili per risolvere i problemi quando si eseguono le build. Puoi visualizzare i log per le build con la CLI o la console.

Ottenimento dei log per le mie build dalla console

Puoi visualizzare i log per istanze di esecuzione della build specifiche dalla console.

  1. Vai al dashboard Code Engine.
  2. Selezionare un progetto (o crearne uno).
  3. Dalla pagina del progetto, fare clic su Build immagine.
  4. Dalla scheda Build immagine, fai clic sul nome della tua build immagine per aprire la pagina di build per una build definita oppure crea una build.
  5. Dalla pagina di build per la build definita, fare clic sul nome dell'istanza dell'esecuzione della build nella sezione Esecuzioni build. Potrebbe essere necessario fare clic su Inoltra build per creare un'esecuzione di build.
  6. Dalla pagina dell'istanza di esecuzione della build, è possibile visualizzare le informazioni del log di build. Espandere la procedura di creazione specifica per informazioni di registrazione dettagliate.

Per ulteriori informazioni, vedi Visualizzazione dei log di build dalla console.

Ottenimento dei log per le mie build con la CLI

Utilizza il comando ibmcloud ce buildrun logs per visualizzare i log sull'esecuzione della build. Utilizzare questo comando per visualizzare i log di tutte le istanze di un'esecuzione di build in base al nome dell'esecuzione di build.

Per visualizzare i log per tutte le istanze dell'esecuzione di build mybuildrun, specificare il nome dell'esecuzione di build con l'opzione --name ; ad esempio,

ibmcloud ce buildrun logs --name mybuildrun

Output di esempio

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

Richiamo delle informazioni sugli eventi di sistema per le build personali

Le informazioni sugli eventi di sistema possono essere utili per risolvere i problemi durante l'esecuzione delle build. Puoi visualizzare le informazioni sugli eventi di sistema per le build con la CLI.

  1. Utilizzare il comando ibmcloud ce buildrun list per elencare tutte le esecuzioni di build in un progetto; ad esempio,

    ibmcloud ce buildrun list  
    
  2. Utilizzare il comando ibmcloud ce buildrun get per ottenere i dettagli di un'esecuzione di build, ad esempio,

    ibmcloud ce buildrun get --name mybuildrun  
    

    Output di esempio

    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-200
    

    Se si desiderano dettagli più dettagliati sull'esecuzione della build, utilizzare l'opzione --o yaml con il comando buildrun get ; ad esempio, ibmcloud ce buildrun get --name myapp --o yaml. Questa opzione è utile per mostrare informazioni più dettagliate nella CLI per l'esecuzione della build.

  3. Visualizza gli eventi di sistema relativi all'esecuzione della tua build. Utilizzare il comando ibmcloud ce buildrun events ; ad esempio,

    ibmcloud ce buildrun events --name mybuildrun
    

    Output di esempio

    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-push
    

    Gli eventi vengono memorizzati solo per un'ora nel sistema.