关于Ubuntu的Jenkins - 多个(相关)问题

cod*_*dah 4 ubuntu jenkins

我正在运行Hardy Heron和Jenkins 1.429,手动安装(即下载的软件包并安装而不是通过正常的说明在这里安装Jenkins因为302错误而在Ubuntu上安装.

背景..我对Ubuntu和Jenkins都缺乏经验.我的任务是设置我认为是"基本的"Jenkins CI框来构建两个Java Maven项目,最终构建一个C++项目.我们使用Synergy CM作为SCM,我为Jenkins安装了一个未发布的Synergy插件(我下载了代码并自己构建).我目前在Jenkins中没有启用安全性.

我的问题是,当我执行构建时,无法访问源代码目录树(例如,在清理阶段删除目标文件夹).这似乎是因为'jenkins'用户不是源目录的所有者,而是我的构建管理器用户(第一个创建的Ubuntu用户).

我该如何解决这个问题?我的想法最初是

1.更改目录树的所有权

要么

2.让用户正确,即将作业作为拥有目录的构建管理员用户运行.我已经阅读了关于以另一个用户身份运行Jenkins(或作业)的线程,但我似乎一路上都迷路了.

3.当我运行用户管理工具时,我甚至看不到在Jenkins软件包安装期间创建的jenkins用户,但如果我尝试添加用户'jenkins',它会告诉我它已经存在.

很抱歉,如果这是一个新手问题,但想知道如何正确地解决这个问题.提前致谢.

编辑:我按照默认设置运行Jenkins作为守护进程.

编辑2:"第一个如何抓住第二个无法访问的东西?".我得到了你说的,你是对的,我已经通过另一个用户检查了代码,而不是让jenkins用户这样做.但是我仍然需要运行构建作为我的构建用户,除非我让jenkins用户就像我的构建用户一样,这将涉及在运行Synergy服务器的UNIX框上创建一个'jenkins'用户,也可能是其他东西.如果可以的话,我宁愿只运行构建作为该用户.我试过添加一条JENKINS_USER=myuser没有运气的线,也DAEMON_ARGS=--name=jenkins ...改为成为我的用户而不是'jenkins'.

pus*_*shy 5

基本上你需要更改/ etc/default/jenkins文件中的JENKINS_USER,就像bmargulies所说的那样.这将设置将用于启动jenkins的用户.如果你这样做并重新启动jenkins,那么什么都行不通,所以你需要为新用户在某些目录上运行chown:

chown -R <user>:<group> /var/run/jenkins/war 
chown <user>:<group> /var/log/jenkins
chown <user>:<group> /etc/init.d/jenkins
chown <user>:<group> /etc/default/jenkins
Run Code Online (Sandbox Code Playgroud)

我认为最重要的是,日志具有正确的权限,因此如果没有启动,您可以检查日志中的错误;-)如果您从存储库更新jenkins,那么坏消息是它会覆盖权限,每次更新后你都必须跳舞.我认为有一个错误报告,所以也许他们很快就会修复它.

希望有所帮助.


小智 5

我还有chmod其他一些路径:

/var/lib/jenkins
/var/cache/jenkins
/var/run/jenkins
Run Code Online (Sandbox Code Playgroud)