如何作为一个不同的用户运行jenkins

我一直在试图遵循教程和这一个: 作为jenkins用户部署或允许jenkins作为不同的用户运行?

但是我仍然不能对于电脑神的爱,作为一个不同的用户来运行。 以下是我所做的步骤:

  1. 下载macosx pkg for jenkins(LTS)
  2. 安装插件等和混帐
  3. 尝试构build它

我一直得到一个无法克隆错误,因为jenkins始终匿名:

Started by user anonymous 

我如何设置,让jenkins像我一样? 我正在使用jenkinsnetworking用户界面,所以它在本地主机:8080

我尝试login也使用/login,但我甚至不能login使用我的名字或作为根。

人民选项卡甚至没有创build用户链接,所以是的,我被卡住了。 请帮助?

问题1:

Started by user anonymous

并不意味着jenkins是以匿名用户身份开始的。

这只是表示开始构build的人没有login。如果启用Jenkins安全性,则可以为人员创build用户名,login时,

 "Started by anonymous" 

将改变为

 "Started by < username >". 

注意:您不必为了运行jenkins或克隆正确而启用安全性。

如果您想启用安全性并创build用户,您应该在Manage Jenkins > Configure System看到选项。


问题2:

“无法克隆”错误完全是一个不同的问题。 它与loginjenkins或启用安全无关。 这仅仅意味着Jenkins没有从git SCM克隆的证书。

看看Jenkins Git Plugin ,看看如何设置Jenkins来使用你的git仓库。

希望有所帮助。

@Sagar给出的“问题2”答案适用于大多数git服务器,比如gitorious。

但是,在像gitolite这样的系统中会有一个名字冲突,在这个系统中,公共ssh密钥被作为以用户名命名的文件( keydir/jenkins.pub 。 如果有多个jenkins服务器需要访问相同的gitolite服务器呢?

(注意:这是关于运行Jenkins守护进程而不是以用户身份运行构build作业的(由@Sargar的“问题1”处理)。)

所以在这种情况下,你需要以另一个用户的身份运行Jenkins守护进程。

有两个步骤:

步骤1

主要的是更新JENKINS_USER环境variables。 这是一个修补程序,显示如何将用户更改为ptran

开始补丁

 --- etc/default/jenkins.old 2011-10-28 17:46:54.410305099 -0700 +++ etc/default/jenkins 2011-10-28 17:47:01.670369300 -0700 @@ -13,7 +13,7 @@ PIDFILE=/var/run/jenkins/jenkins.pid # user id to be invoked as (otherwise will run as root; not wise!) -JENKINS_USER=jenkins +JENKINS_USER=ptran # location of the jenkins war file JENKINS_WAR=/usr/share/jenkins/jenkins.war --- etc/init.d/jenkins.old 2011-10-28 17:47:20.878539172 -0700 +++ etc/init.d/jenkins 2011-10-28 17:47:47.510774714 -0700 @@ -23,7 +23,7 @@ #DAEMON=$JENKINS_SH DAEMON=/usr/bin/daemon -DAEMON_ARGS="--name=$NAME --inherit --env=JENKINS_HOME=$JENKINS_HOME --output=$JENKINS_LOG - -pidfile=$PIDFILE" +DAEMON_ARGS="--name=$JENKINS_USER --inherit --env=JENKINS_HOME=$JENKINS_HOME --output=$JENKINS_LOG --pidfile=$PIDFILE" SU=/bin/su 

END PATCH

第2步

更新jenkins目录的所有权:

 chown -R ptran /var/log/jenkins chown -R ptran /var/lib/jenkins chown -R ptran /var/run/jenkins chown -R ptran /var/cache/jenkins 

第3步

重新开始jenkins

 sudo service jenkins restart 

在Mac OS X上,我让Jenkins从我的(私有)Github仓库中取出的方式是:

首先,确保您的用户拥有Jenkins目录

 sudo chown -R me:me /Users/Shared/Jenkins 

然后编辑Jenkins的LaunchDaemon plist(在/Library/LaunchDaemons/org.jenkins-ci.plist),这样你的用户就是GroupName和UserName:

  <key>GroupName</key> <string>me</string> ... <key>UserName</key> <string>me</string> 

然后重新加载Jenkins:

 sudo launchctl unload -w /Library/LaunchDaemons/org.jenkins-ci.plist sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist 

然后,jenkins,因为它正在运行,有权访问您的〜/ .ssh目录,其中有你的钥匙。

如果你真的想像你一样运行jenkins,我build议你看看我的Jenkins.app。 在Mac上运行Jenkins的另一种简单方法。

请参阅https://github.com/stisti/jenkins-app/

https://github.com/stisti/jenkins-app/downloads下载它;

您也可以集成到LDAP或AD中。 它运作良好。