Jenkins Agent容器中Maven构建RPM出现file: not found报错排查求助
解决Jenkins SSH Agent镜像构建RPM时出现
file: not found的问题 问题背景
基于jenkins/ssh-agent:latest-jdk8制作了包含Maven的Docker镜像用于Jenkins项目构建,RPM生成及安装均正常,但构建日志中频繁出现ARG0: 1: file: not found和find: ‘file’: No such file or directory错误,手动进入容器运行RPM脚本却无报错,推测问题与Maven执行上下文有关。
镜像Dockerfile:
FROM maven:3.5.0-jdk-8 as mavensrc FROM jenkins/ssh-agent:latest-jdk8 COPY --from=mavensrc /usr/share/maven /usr/share/maven ENV MAVEN_HOME /usr/share/maven ENV USER_HOME_DIR="/home/jenkins" ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2" RUN sed -i "s|PATH=|PATH=/usr/share/maven/bin:|" /etc/environment && apt-get update \ && apt-get -y install binutils \ && apt-get -y install rpm
核心报错片段:
[INFO] + /usr/lib/rpm/brp-strip /usr/bin/strip [INFO] ARG0: 1: file: not found [INFO] ARG0: 1: file: not found ... [INFO] + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump [INFO] find: ‘file’: No such file or directory
brp-strip脚本依赖file命令的核心逻辑:
find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \! -regex "${RPM_BUILD_ROOT}/*usr/lib/debug.*" -print0 | \ xargs -0 -r -P$NCPUS -n32 sh -c "file \"\$@\" | grep -v ' shared object,' | sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped.*/\1/p' | xargs -I{} $STRIP -g {}" ARG0
原因分析
file命令缺失:jenkins/ssh-agent:latest-jdk8基于Debian/Ubuntu系统,默认未预装file工具包,而RPM构建的brp-*系列脚本依赖file命令识别ELF文件类型。你的Dockerfile仅安装了binutils和rpm,缺少file包导致脚本执行时找不到命令。- 手动运行无报错的差异:手动进入容器时,可能临时安装过
file包未清理,或是交互式shell的环境配置与Maven构建的非交互式环境不一致,导致手动测试时能找到命令,但构建时无法识别。
解决方案
修改Dockerfile,在apt-get install指令中添加file包,同时可选清理APT缓存减小镜像体积:
FROM maven:3.5.0-jdk-8 as mavensrc FROM jenkins/ssh-agent:latest-jdk8 COPY --from=mavensrc /usr/share/maven /usr/share/maven ENV MAVEN_HOME /usr/share/maven ENV USER_HOME_DIR="/home/jenkins" ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2" RUN sed -i "s|PATH=|PATH=/usr/share/maven/bin:|" /etc/environment \ && apt-get update \ && apt-get -y install binutils rpm file \ && apt-get clean \ && rm -rf /var/lib/apt/lists/*
重新构建镜像并替换Jenkins中的SSH Agent配置,再次执行构建即可消除该报错。
内容的提问来源于stack exchange,提问作者Lety
相关产品推荐
相关产品推荐

