Depuración de las compilaciones

Utilice los consejos de resolución de problemas para aprender a resolver problemas con las compilaciones y ejecuciones de IBM Cloud® Code Engine de una compilación.

Tanto si ejecuta la compilación en la consola como en la CLI, utilice la CLI para resolver problemas con la compilación.

  1. Ejecute el comando ibmcloud ce buildrun get --name BUILDRUN_NAME para visualizar los detalles de la ejecución de la compilación.
  2. Revise Reason en la salida del mandato.

Cuando la app no se comporta como es de esperar, la búsqueda en registros y sucesos del sistema puede proporcionar información que ayude a depurar el problema.

Límites de las compilaciones a tener en cuenta

El número máximo de configuraciones de compilación que se pueden tener por proyecto es 100. Está limitado a un total de 100 ejecuciones de compilación por proyecto antes de tener que eliminar o limpiar las antiguas.

Para obtener información adicional sobre los límites de las compilaciones, incluidas memoria y CPU, consulte Límites y cuotas de Code Engine.

Con la CLI, puede utilizar el mandato ibmcloud ce project get para visualizar información sobre los límites y el uso actual. Por ejemplo:

ibmcloud ce project get --name myproject

Salida de ejemplo

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

Obtención de registros para las compilaciones

Los registros pueden ser útiles para resolver problemas cuando se ejecutan compilaciones. Puede ver registros para compilaciones con la CLI o la consola.

Obtención de registros para mis compilaciones desde la consola

Puede visualizar registros para instancias de ejecución de compilación específicas desde la consola.

  1. Vaya al panel de control de Code Engine.
  2. Seleccione un proyecto (o cree uno).
  3. En la página del proyecto, pulse Compilaciones de imágenes.
  4. En el separador Compilación de imagen, pulse el nombre de la compilación de imagen para abrir la página de compilación para una compilación definida o cree una compilación.
  5. En la página de compilación de la compilación definida, pulse el nombre de la instancia de la ejecución de la compilación en la sección Ejecuciones de compilación. Es posible que tenga que pulsar Enviar compilación para crear una ejecución de compilación.
  6. En la página de instancia de ejecución de compilación, puede ver la información de registro de compilación. Expanda los pasos de compilación específicos para obtener información de registro detallada.

Para obtener más información, consulte visualización de registros de compilación desde la consola.

Obtención de registros para mis compilaciones con la CLI

Utilice el comando ibmcloud ce buildrun logs para visualizar los registros de la ejecución de compilación. Utilice este mandato para visualizar registros de todas las instancias de una ejecución de compilación a partir del nombre de la ejecución de compilación.

Para ver los registros para todas las instancias de la ejecución de compilación mybuildrun, especifique el nombre de la ejecución de compilación con la opción --name; por ejemplo,

ibmcloud ce buildrun logs --name mybuildrun

Salida de ejemplo

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

Obtención de información de sucesos del sistema de las compilaciones

La información de sucesos del sistema puede ser útil para resolver problemas cuando se ejecutan compilaciones. Puede ver la información de sucesos del sistema de las compilaciones con la CLI.

  1. Utilice el mandato ibmcloud ce buildrun list para listar todas las ejecuciones de compilación de un proyecto; por ejemplo,

    ibmcloud ce buildrun list  
    
  2. Utilice el comando ibmcloud ce buildrun getpara obtener los detalles de una ejecución de compilación; por ejemplo,

    ibmcloud ce buildrun get --name mybuildrun  
    

    Salida de ejemplo

    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
    

    Si desea detalles más precisos sobre la ejecución de la compilación, utilice la opción --o yaml con el mandato buildrun get; por ejemplo, ibmcloud ce buildrun get --name myapp --o yaml. Esta opción es útil para mostrar información más detallada en la CLI para la ejecución de compilación.

  3. Visualice los sucesos del sistema de una ejecución de compilación. Utilice el comando ibmcloud ce buildrun events; por ejemplo,

    ibmcloud ce buildrun events --name mybuildrun
    

    Salida de ejemplo

    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
    

    Los sucesos solo se almacenan durante una hora en el sistema.