我正在使用jenkins生成一个RPM包,尽管源代码、BUILD、BUILDROOT都存储在/var/lib/jenkins/rpmbuild/下,生成后的rpm包被重定向到/root/rpmbuild/rpm,而我得到的错误是
error: cannot create /root/rpmbuild/RPMS/noarch: Permission denied我尝试创建/var/lib/jenkins/rpmbuild/RPMS/noarch,但失败了,我也检查了我的.rpmmacro,在那里我将topdir定义为
%_topdir %(echo $HOME)/rpmbuild.rpmmacro的所有者和小组是jenkins
我希望rpm包存储在/var/lib/ jenkins /rpmbuild/rpm/noarch/下,因为任务是由jenkins构建的,这是jenkins拥有的唯一目录。
发布于 2019-06-17 13:13:11
回答我自己的问题,
规范文件中有一个名为%define的键,您只需定义要保存rpm包的目录或路径。如果每次构建都使用相同的规范文件,那么您只需要第一次定义它。
对我来说
%define _rpmdir /root/rpmbuild/RPMS/我改到
%define _rpmdir /var/lib/jenkins/rpmbuild/RPMS/它开始起作用
https://stackoverflow.com/questions/56630907
复制相似问题