问题
Jenkins 收到 Github Webhooks 消息之后我要执行 Shell 脚本,但是遇到了报错,如下:
cd: /: Not a directory
我的脚本如下
cd /root/testjenk
mkdir 456
网上查了一下没查到原因,问网友,恶魔旋律 提到可能是权限不足导致的,我搜了一下 Jenkins 提权方面资料。
解决
编辑 /etc/sysconfig/jenkins
文件
将原来的 jenkins 用户修改为 root 用户。$JENKINS_USER="root"
执行文件夹提权命令
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
重启 Jenkins
service jenkins restart
service jenkins status
查看用户权限
ps -ef|grep jenkins
还有的就是启动脚本要改一下
/usr/lib/systemd/system/jenkins.service
# Unix account that runs the Jenkins daemon
# Be careful when you change this, as you need to update the permissions of
# $JENKINS_HOME, $JENKINS_LOG, and (if you have already run Jenkins)
# $JENKINS_WEBROOT.
User=root
Group=root
刷新一下配置
systemctl daemon-reload
然后再次提交 giuhub,查看日志,发现自动构建成功
然后还有一些环境变量可以设置一下
echo $PATH
export PATH=$PATH:/usr/local/bin