以jenkins开始jenkins连接

时间:2014-02-18 14:56:35

标签: macos jenkins hudson

我认为这是一个非常简单的问题但无法在任何地方找到解决方案。我必须运行我的jenkins plist文件(或只是.jar文件)作为jenkins,而不是管理员。这就是我的文件现在的样子:

<key>Label</key>
    <string>com.example.ci</string>
    <key>ProgramArguments</key>
    <array>
        <string>sudo</string>
        <string>/usr/bin/java</string>
        <string>-Djava.awt.headless=true</string>
        <string>-jar</string>
        <string>/Users/Shared/Jenkins/Home/slave.jar</string>
        <string>-jnlpUrl</string>
        <string>http://[adres]/slave-agent.jnlp
</string>
        <string>-secret</string>
        <string>841557ed784ead7secret[334b3ac76fe1618e375
</string>
    </array>
    <key>KeepAlive</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/Users/Shared/Jenkins/Home/stdout.log</string>
    <key>StandardErrorPath</key>
    <string>/Users/Shared/Jenkins/Home/error.log</string>

我试图添加命令切换到jenkins:

  

sudo su jenkins

所以我尝试添加这样的东西:

<key>Jenkins user</key>
        <string>what.to.put.here</string>
        <key>OtherArguments</key>
        <array>
            <string>sudo</string>
            <string>su</string>
            <string>jenkins</string>
        </array>

在上面这些行之前,但是我看到我还没有登录为jenkins。当我从命令行使用我编写的那些命令执行此操作时 - 比它工作,但我希望它在系统启动时运行。

修改

gaige 回答之后我添加了:

<key>UserName</key>
<string>jenkins</string>

但我仍然没有jenkins用户所拥有的目录的权限。

1 个答案:

答案 0 :(得分:0)

如果您使用的是系统launchctl plist,那么您只需添加UserName键:

<key>UserName</key>
<string>jenkins</string>

与plist中的其他键处于同一级别。然后删除所有sudo相关内容。

请注意,这必须是系统启动的(位于/System/Library/LaunchDaemon/Library/LaunchDaemon),否则您将无权使用相关用户。