首页 > 解决方案 > Jenkins 用户会根据工作名称进行更改,为什么?

问题描述

我已经在 Linux RHEL7 上安装了 Jenkins,并且我做了以下更改以使用 root 用户而不是 Jenkins 用户运行我的所有 Jenkins 作业。

我所做的更改:

  1. 内部文件/etc/sysconfig/jenkins

    JENKINS_USER="root"(默认为“jenkins”)

  2. 使用以下命令更改了文件的所有权:

    sudo chown -R root:root /var/lib/jenkins

    sudo chown -R root:root /var/cache/jenkins

    sudo chown -R root:root /var/log/jenkins

现在,当我创建一个名为“snjiiii”的作业时,它可以正确运行,即使用 root 用户:

Console Output
Started by user FSQA ADMIN
Running as SYSTEM
Building on master in workspace /var/lib/jenkins/workspace/snjiii
[snjiii] $ /bin/sh -xe /tmp/jenkins8170584152885597665.sh
+ whoami
root
Finished: SUCCESS

但是当我创建一个名为“snjiiii_newjob_l1_rhl7”的不同作业时,它以 jenkins 用户身份运行:

Console Output
Started by user FSQA ADMIN
Running as SYSTEM
Building remotely on Slave_1_14 (Redhat_linux) in workspace /var/lib/jenkins/workspace/snjiii_newjob_l1_rhl7
[snjiii_newjob_l1_rhl7] $ /bin/sh -xe /tmp/jenkins2597327522922634209.sh
+ whoami
jenkins
Finished: SUCCESS

无论命名约定如何,我都需要创建作业并使用 root 用户运行它。怎么做???

标签: linuxjenkins

解决方案


即使我在我的主服务器上运行该作业,我也为它创建了一个主从配置,其中我创建了一个具有主凭据的节点并将其用作我的从机,即我限制我的项目在我的主从机上运行它本身以及此后它使用 ssh 凭据进行通信,它解决了我的问题。


推荐阅读