【发布时间】:2013-01-22 23:20:59
【问题描述】:
我从 debian 软件包(1.424.6 版本,Debian/Ubuntu 发行版,在 ubuntu 12.04 上运行)安装了 jenkins CI。我在网上看到 jenkins 提供了一个自动升级按钮,就像在 中一样。但是我的詹金斯上没有这样的东西。我试图在谷歌和詹金斯配置中找到答案,但失败了。可能debian/ubuntu安装包是不可能的?
【问题讨论】:
标签: jenkins auto-update
我从 debian 软件包(1.424.6 版本,Debian/Ubuntu 发行版,在 ubuntu 12.04 上运行)安装了 jenkins CI。我在网上看到 jenkins 提供了一个自动升级按钮,就像在 中一样。但是我的詹金斯上没有这样的东西。我试图在谷歌和詹金斯配置中找到答案,但失败了。可能debian/ubuntu安装包是不可能的?
【问题讨论】:
标签: jenkins auto-update
这是一个权限问题,如果您信任您的 Jenkins 安全配置,只需运行:
$ chown -R jenkins /usr/share/jenkins
然后重启jenkins,出现升级按钮,可以升级到最新版本,否则必须使用jenkins版本不是最新的debian包系统。
【讨论】:
sudo chown -R jenkins /Applications/Jenkins
chown -R jenkins:jenkins /usr/lib/jenkins/
正如https://wiki.jenkins-ci.org/display/JENKINS/Automated+Upgrade 中所述,“如果 Jenkins 是从 Debian 软件包安装的,则使用 Jenkins 中的升级按钮(自 1.318 起可用)将不起作用(在尝试下载新的 WAR 文件时导致权限被拒绝错误) )!”
所以即使你找到了按钮,它也会失败。
但它也说
aptitude update && aptitude install jenkins
将更新 jenkins 到最新版本,试一试:)
【讨论】:
sudo -i && aptitude update && aptitude install jenkins
更改 jenkins.war 所在目录和 WAR 文件本身的所有权(更改为 jenkins UID 和 GID)。例如,以下适用于 RHEL:
chown jenkins:jenkins /usr/lib/jenkins
chown jenkins:jenkins /usr/lib/jenkins/jenkins.war
【讨论】:
root 下载并恢复到以前版本的 Jenkins 后它丢失了。
https://wiki.jenkins-ci.org/display/JENKINS/Automated+Upgrade
如果您是通过 OS X 安装程序安装的,则运行 进程不拥有 .war 文件。要使自动升级正常工作,只需 修复权限,以便 jenkins 用户可以编写 WAR(在 /应用程序/詹金斯)。
运行命令找到jenkins.war的位置
ps -aux | grep 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
然后刷新管理页面。你会看到按钮。
【讨论】: