Guardrails for Bamboo build log sizes
プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。
このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。
*Fisheye および Crucible は除く
要約
This article provides a list of the supported guardrails for build log sizes in Bamboo.
Bamboo employs a combination of HTTP and JMS (Java Message Service) streams to facilitate the transfer of build logs from its Agents back to the Server. The HTTP protocol is utilized once per build upon completion, transferring the complete build log file as a text artifact, optionally compressed. Meanwhile, JMS is employed for builds that are still in progress, allowing users to monitor the active build progress status page directly in the UI via the Live Logs feature.
Transmitting excessively large and parallel build logs via JMS can lead to system stability challenges. This is due to Bamboo's JMS (ActiveMQ) service competing for system resources with other components of the application, which may result in ActiveMQ missing messages and subsequently causing overall performance and stability issues related to build queueing, agent communication, and unexpected error messages.
For additional information regarding best practices for ActiveMQ in Bamboo, please refer to the following KB article:
ソリューション
To ensure a stable environment, Atlassian has tested and validated the following guardrails for build log sizes, assuming Live Logs is enabled and users are actively observing the logs during build generation:
コンポーネント | Number of Lines | Size in MB |
---|---|---|
Build log size (per Job) | 100,000 | 25 |
Supported workarounds
If you have specific requirements that exceed the recommended log size limits, please consider the following suggestions:
Disable Live Logs
Live logging commands Bamboo Agents to push build messages over JMS, increasing the demand on ActiveMQ while a build is running and an active browser session is monitoring the logs on the build page. Although this may function normally under typical workloads, ActiveMQ could encounter performance issues due to excessive messaging traffic. If reducing log output is impractical, it is recommended to globally disable live log transmission to mitigate the impact of excessive logging on ActiveMQ.
Restrict the number of log lines or convert them to artifacts
If reducing the log size is not feasible, adjust your build pipelines to redirect log output to text files and publish them as build artifacts, which will be linked to the build results for future reference. Since artifacts are transferred over HTTP and don't use ActiveMQ to be sent back to the Bamboo server, this approach does not affect the ability to generate comprehensive logs.
Bamboo may trigger a hanging build event if no output is provided by a build after a specified period. To prevent this, either configure your builds to produce minimal but consistent output on the screen or adjust or disable the hanging build event threshold in your builds.