Skip to content

Jenkins 自动化脚本问题及解决方法

Published: at 09:51 PMSuggest Changes

问题

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

Previous Post
简易的 React Table 组件
Next Post
简易的 npm 包依赖查看器