首页 > 解决方案 > 为什么不是所有来自 Docker 的消息都在 Jenkins 日志中运行?

问题描述

我正在使用 Jenkins 和 Docker 构建 Raspberry Pi 映像。我有一个 bash 脚本,它可以调整 raspbian 图像的大小并添加我的应用程序。从大多数命令中,我得到 Jenkins 日志中的输出,但不是全部。例如,我看不到任何回声消息。

bash 脚本通过以下命令从 Jenkinsfile 启动:

def image = docker.image("rpi-builder")
                image.inside("-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static -v /dev:/dev2 --privileged=true --cap-add SYS_ADMIN --network jenkins_network")
                { 
                    sh 'bash /repo/MakeImage/mkImage.sh ${HOST_NAME} ${BACKUP_NAME} ${NODE_VERSION}'
                    sh "cp /rpi_image.img ${WORKSPACE}"
                    archiveArtifacts 'rpi_image.img'
                }

在 Jenkins 日志中,我可以看到例如输出

unzip rpi_img.zip

但是没有什么来自

echo "Step one"

如果我在没有 Jenkins 的情况下运行脚本,例如

docker exec -it 135776076ae8b5ea73e6f9f8a559f1d38824d457bee4c1b2285399c636b95920 /bin/bash /repo/MakeImage/mkImage.sh iobpitest iobpi v10.23.1-armv6l

我可以在输出中看到回显消息。

为什么它不在 Jenkins 日志中?我必须将其重定向到某个地方吗?

标签: dockerjenkins

解决方案


推荐阅读