docker - 为什么不是所有来自 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 日志中?我必须将其重定向到某个地方吗?
解决方案
推荐阅读
- vb.net - 将访问报告导出为 PDF - 无法识别的常量
- javascript - 我的函数适用于增强的 for 循环,但不适用于普通的 for 循环
- ios - 如何在 iOS 11 中将 JPEG/RAW 图像数据保存到相机胶卷,无法访问处理后的图像数据
- c# - 如何使用 iTextSharp 在单行文本中添加多种字体
- android - getItem 函数在 FragmentStatePagerAdapter 中调用两次?
- python - 根据另一列的值在数组中添加列的编号
- python - Python - 从列中提取/复制分隔文本到新列 xlsx
- c# - 使用 Protobuf-net 对实现抽象类的对象进行序列化和反序列化
- swift - Swift 3.2 中的泛型函数和协议无法推断类型
- python - if...else 条件中的语法错误