IBM Cloud Docs
ビルドのデバッグ

ビルドのデバッグ

以下のトラブルシューティングのヒントを使用して、IBM Cloud® Code Engine ビルドおよびビルド実行のトラブルシューティング方法を確認してください。

コンソールと CLI のどちらでビルドを実行していようと、ビルドの問題のトラブルシューティングには CLI を使用してください。

  1. ibmcloud ce buildrun get --name BUILDRUN_NAME コマンドを実行して、ビルド実行の詳細を表示します。
  2. コマンド出力の Reason を確認します。

ビルドが予期したとおりに機能していない場合は、ログおよびシステム・イベントを確認すると、問題のデバッグに役立つ情報が得られる可能性があります。

考慮すべきビルド制限

プロジェクト 1 つにつき作成できるビルド構成の最大数は 100 です。 プロジェクト 1 つにつき合計 100 個というビルド実行の制限に達したら、古いものを削除またはクリーンアップする必要があります。

メモリーや CPU など、ビルドの制限について詳しくは、Code Engine の制限と割り当て量を参照してください。

CLI では、 ibmcloud ce project get コマンドを使用して、制限および現在の使用状況に関する情報を表示できます。 以下に例を示します。

ibmcloud ce project create --name myproject

出力例

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

ビルドのログの取得

ログは、ビルドの実行時の問題をトラブルシューティングするために役立ちます。 CLI またはコンソールを使用してビルドのログを表示できます。

コンソールでのビルドのログの取得

コンソールで、特定のビルド実行インスタンスのログを表示できます。

  1. Code Engine ダッシュボードに進みます。
  2. プロジェクトを選択します (またはプロジェクトを作成します)。
  3. 「プロジェクト」ページで、**「イメージ・ビルド (Image builds)」**をクリックします。
  4. 「イメージ・ビルド」 タブで、イメージ・ビルドの名前をクリックして定義済みビルドのビルド・ページを開くか、 ビルドを作成 します。
  5. 定義済みビルドのビルド・ページの**「ビルド実行 (Build runs)」セクションで、該当するビルド実行のインスタンスの名前をクリックします。 ビルド実行を作成するには、「ビルドの実行依頼 (Submit build)」**をクリックする必要がある場合があります。
  6. ビルド実行インスタンスのページで、ビルド・ログ情報を確認できます。 特定のビルド・ステップを展開すると、詳細なロギング情報が表示されます。

詳しくは、 コンソールからのビルド・ログの表示 を参照してください。

CLI でのビルドのログの取得

ビルド実行に関するログを表示するには、ibmcloud ce buildrun logs コマンドを使用します。 このコマンドは、ビルド実行の名前に基づいて、ビルド実行のすべてのインスタンスのログを表示するために使用します。

mybuildrun ビルド実行のすべてのインスタンスのログを表示するには、次の例のように、--name オプションでビルド実行の名前を指定します。

ibmcloud ce buildrun logs --name mybuildrun

出力例

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

ビルドのシステム・イベント情報の取得

システム・イベント情報は、ビルドの実行時の問題をトラブルシューティングするために役立ちます。 CLI を使用してビルドのシステム・イベント情報を表示できます。

  1. ibmcloud ce buildrun listコマンドを使用して、プロジェクト内のすべてのビルド実行をリストします。以下に例を示します。

    ibmcloud ce buildrun list  
    
  2. ibmcloud ce buildrun get コマンドを使用して、特定のビルド実行の詳細を取得します。例えば、次のようにします。

    ibmcloud ce buildrun get --name mybuildrun  
    

    出力例

    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
    

    ビルド実行に関するより詳細な詳細情報が必要な場合は、**buildrun get**コマンドで--o yamlオプションを使用します (例: ibmcloud ce buildrun get --name myapp --o yaml)。 このオプションは、ビルド実行の CLI でより詳細な情報を表示するのに役立ちます。

  3. ビルド実行のシステム・イベントを表示します。 ibmcloud ce buildrun events コマンドを使用します。以下に例を示します。

    ibmcloud ce buildrun events --name mybuildrun
    

    出力例

    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
    

    イベントがシステムに保管されるのは 1 時間のみです。