我从 debian 包(1.424.6 版本,Debian/Ubuntu 发行版,在 ubuntu 12.04 上运行)安装了 jenkins CI。我在网上看到 jenkins 提供了一个自动升级按钮,就像在. 但是我的詹金斯上没有这样的东西。我试图在谷歌和詹金斯配置中找到答案,但失败了。也许 debian/ubuntu 安装包是不可能的?
4 回答
这是一个权限问题,如果您信任您的 Jenkins 安全配置,只需运行:
$ chown -R jenkins /usr/share/jenkins
然后重启jenkins,应该会出现升级按钮,可以升级到最新版本,否则必须使用jenkins版本不是最新的debian包系统。
正如它在https://wiki.jenkins-ci.org/display/JENKINS/Automated+Upgrade中所述“如果 Jenkins 是从 Debian 软件包安装的(尝试下载新的 WAR 文件时导致权限被拒绝错误)!”
所以即使你找到按钮它也会失败。
但它也说
aptitude update && aptitude install jenkins
将 jenkins 更新到最新版本,试一试 :)
更改 jenkins.war 所在目录和 WAR 文件本身的所有权(更改为 jenkins UID 和 GID)。例如,以下适用于 RHEL:
chown jenkins:jenkins /usr/lib/jenkins
chown jenkins:jenkins /usr/lib/jenkins/jenkins.war
https://wiki.jenkins-ci.org/display/JENKINS/Automated+Upgrade
如果您是通过 OS X 安装程序安装的,则运行该进程的“jenkins”不拥有 .war 文件。要使自动升级正常工作,只需修复权限,以便 jenkins 用户可以编写 WAR(在 /Applications/Jenkins 中)。
运行命令找到 jenkins.war 的位置
ps -aux | grep jenkins
像这样的输出:jenkins 27765 172 11.0 3528188 432288?Ssl 12:23 4:16 /etc/alternatives/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log /jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=8080 --ajp13Port=8009 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
jenkins.war 的位置是:/usr/lib/jenkins/jenkins.war
运行命令修复 /usr/lib/jenkins/jenkins.war 权限。例如:
chmod 777 /usr/lib/jenkins/jenkins.war
然后刷新管理页面。你会看到按钮。