我试图在ubantu机器上设置jenkin来构建maven android项目
Android SDK : android-sdk_r23.0.2-linux.tgz
OS : ubantu
Maven home: /usr/share/maven3
Java version: 1.7.0_65, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
使用android SDK deployer
安装了android依赖项如果我运行" mvn clean install"在命令行项目上成功构建,但如果我尝试使用jenkin作业,它会失败,因为它无法找到手动安装的jar。
jenkin用户匿名
尝试以下仍然面临同样的问题:
我遇到了一个问题, 我按照此链接https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-ubuntu-12-04-and-centos-6
添加了新用户以root身份添加新用户的步骤:
sudo adduser jenkinadmin
sudo /usr/sbin/visudo
编辑文件如下 在用户权限规范下添加用户名和与root相同的权限将授予他们sudo权限。
- #用户权限规范
root ALL=(ALL:ALL) ALL
jenkinadmin ALL=(ALL:ALL) ALL
按'cntrl x'退出文件,然后按'Y'保存
并将/ etc / default / jenkins文件JENKINS_USER更新为上面创建的新用户。发出
chown -R jenkinadmin /var/log/jenkins
chown -R jenkinadmin /var/lib/jenkins
chown -R jenkinadmin /var/run/jenkins
chown -R jenkinadmin /var/cache/jenkins
然后重新启动Jenkins jenkins并使用ps命令检查用户是否已更改 /etc/init.d/jenkins restart ps -ef | grep jenkins
我可以看到jenkin正在盯着同一个新用户,但我仍然得到相同的mave repo错误。
也可以使用以下命令编辑sudouser sudo / usr / sbin / visudo 现在我总是提示这个错误
" jenkinadmin不在sudoers文件中。将报告此事件"
我也使用sudo apt-get install maven安装了maven并安装了maven
root@myBox:/etc# mvn -v
Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T12:37:52-05:00)
Maven home: /usr/share/maven3
Java version: 1.7.0_65, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-32-generic", arch: "amd64", family: "unix"
答案 0 :(得分:0)
由于maven在命令行上正常运行但在运行Jenkins时出现问题,这很可能意味着它是一个PATH问题。只需使用在命令行运行mvn的用户运行Jenkins。
要找出运行Jenkins的用户,可以运行以下命令:
[tom@jenkins_master ~]$ ps -ef | grep -i jenkins
ec2-user 20040 1 0 Sep15 ? 00:07:59 /etc/alternatives/java -Djava.awt.headless=true -Dhudson.util.ProcessTree.disable=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
tom 23248 23222 0 22:46 pts/0 00:00:00 grep -i jenkins
[tom@jenkins_master ~]$
从上面的输出可以看出,Jenkins以用户ec2-user
的身份运行。如果您在没有进行任何自定义的情况下安装了Jenkins,那么启动脚本很可能是/etc/init.d/jenkins
。如果您要打开此文件,则应具有以下条目:
JENKINS_CONFIG=/etc/sysconfig/jenkins
上述文件( / etc / sysconfig / jenkins )包含Jenkins将运行的用户名条目。 您应该更改它,但您还必须确保更改Jenkins使用的其他文件和目录的所有权。这些可以从上面粘贴的输出中看出:
的/ var / lib中/詹金斯/
/ usr / lib中/詹金斯/
在/ var /日志/詹金斯/
的/ var /缓存/詹金斯/
这些应该做。更改所有权并重新启动Jenkins后,请务必检查日志以确保没有权限问题。就是这样。
要在命令行中查找正在运行命令的用户,只需键入以下命令:
[tom@jenkins ~]$ id
uid=514(tom) gid=515(tom) groups=515(tom)
上述输出的 uid=514(tom)
部分确认您当前以“tom”用户身份登录。