我正在尝试在mac上运行shell build命令,但我得到permission denied
例如ls /Users/...
命令。
我看到whoami
是jenkins
,这与我的uesr登录不同?
我在线阅读我需要为jenkins用户运行chmod,我该怎么做?
我使用chmod 777更改了文件权限?
我是否需要更改jenkins用户?
答案 0 :(得分:0)
也许您遇到jenkins
不是完整用户的问题。试试这个:
为Jenkins创建用户
最好以自己的用户身份运行Jenkins(然后可以限制其拥有的权限),并且您需要为其创建标准(完整)用户。
您可以通过“系统偏好设置”,“服务器管理器”或命令行执行此操作。
对于本地用户:
# create an applications group
dseditgroup -o create -n . -u username -p -r ‘Applications’ applications
# get the id for that group
sudo dscl . -read /Groups/applications
# find a unique identifier to give the user
sudo dscl . -list /Users UniqueID
# create the jenkins user
sudo dscl . -create /Users/jenkins
sudo dscl . -create /Users/jenkins PrimaryGroupID 505
sudo dscl . -create /Users/jenkins UniqueID 1026
sudo dscl . -create /Users/jenkins UserShell /bin/bash
sudo dscl . -create /Users/jenkins RealName "Jenkins"
sudo dscl . -create /Users/jenkins NFSHomeDirectory /Users/jenkins
sudo dscl . -passwd /Users/jenkins
# create and set the owner of the home directory
sudo mkdir /Users/jenkins
sudo chown -R jenkins /Users/jenkins
我在这里找到了这个:installing jenkins on OS X Yosemite
答案 1 :(得分:0)
就我而言,该文件夹位于NFS / Samba / Webdav共享中,这些脚本似乎无法处理。 我在我的fs中创建了一个真实文件夹,并将其链接到共享文件夹中的子目录。这样,就不会再出现权限被拒绝的错误。
答案 2 :(得分:0)
我在寡妇中也有同样的问题,其中唯一的用户是admin和Jenkins,它们从CMD以提升的/管理员权限运行。 我正在使用“内容替换插件”-它仅运行一次,然后说该文件已锁定,但是Unlocker和其他实用程序没有显示任何内容,但是我无法删除或重命名该文件。重新启动jenkins服务并重新加载没有帮助,文件被锁定。只有重启才能释放文件。
我最终使用Powershell插件更改了文件的内容-运行没有问题(使用jenkins变量和双引号需要进行一些调整)
例如,替换'img src'->'img title =“ branch,build ...” src'
powershell -Command "(gc ad/bootstrapheader.jsp) -replace 'img src', 'img title=""""branch: $env:GIT_BRANCH; build: $env:BUILD_ID"""""" src' | Out-File ad/bootstrapheader.jsp"
答案 3 :(得分:0)
Jenkins 用户无权运行非 jenkins 用户文件夹或文件。使用在 shell 中以其他用户身份运行(假设使用 linux 操作系统)或将文件夹或内容复制到 jenkins 默认文件夹。
sh ''' su - - << EOF 要运行的命令 '''
或
将文件夹复制到 jenkins 默认文件夹
cp -rp <要运行的文件夹/文件/相关脚本>
答案 4 :(得分:0)
打开终端
sudo nano /etc/sudoers
在文件末尾添加以下语句:
詹金斯 ALL=(ALL) NOPASSWD: ALL
保存并退出
答案 5 :(得分:-1)
在linux中,例如ubuntu,您可以将用户jenkins添加到根组:
sudo usermod -a -G root jenkins
然后重启jenkins:
sudo service jenkins restart
请注意,将jenkins用户添加到root组会使用户太强大,请谨慎使用