我正在尝试在 Mac 上运行 Shell build 命令,但是像 ls /Users/...
这样的命令会显示 permission denied
。
我发现 whoami
是 jenkins
,而不是我的用户登录账号?
我在网上看到需要为 jenkins 用户运行 chmod,该如何操作?
我使用 chmod 777 更改文件权限可以吗?
是否需要更改 jenkins 用户?
sudo usermod -a -G root jenkins
然后重新启动Jenkins:
sudo service jenkins restart
请注意,将Jenkins用户添加到root组可能会使其权限过于强大,请谨慎使用。
# 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
我在Windows中遇到了同样的问题,唯一的用户是tadmin,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"
Jenkins用户没有权限运行非Jenkins用户文件夹或文件。在shell中使用其他用户身份运行(假设为Linux操作系统),或将文件夹或内容复制到Jenkins默认文件夹。
sh ''' su - - << EOF 要运行的命令 '''
或者
将文件夹复制到Jenkins默认文件夹
cp -rp <要运行的文件夹/文件/相关脚本> </usr/lib/jenkins/>
ls
命令中的...
对我们来说很重要,请不要缩短它。此外,“为 jenkins 用户运行 chmod” 对我来说毫无意义。chmod
哪个文件/目录?你更改了哪个文件的权限? - Kusalananda