linux - Jenkins 用户会根据工作名称进行更改,为什么?
问题描述
我已经在 Linux RHEL7 上安装了 Jenkins,并且我做了以下更改以使用 root 用户而不是 Jenkins 用户运行我的所有 Jenkins 作业。
我所做的更改:
内部文件
/etc/sysconfig/jenkins
:JENKINS_USER="root"(默认为“jenkins”)
使用以下命令更改了文件的所有权:
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 用户运行它。怎么做???
解决方案
即使我在我的主服务器上运行该作业,我也为它创建了一个主从配置,其中我创建了一个具有主凭据的节点并将其用作我的从机,即我限制我的项目在我的主从机上运行它本身以及此后它使用 ssh 凭据进行通信,它解决了我的问题。
推荐阅读
- latex - 运行 C:/MIKTEX~1.9/miktex/bin/x64/pdflatex.exe 时出错(退出代码 1)
- php - 当用户点击菜单选项时重定向用户
- python - 有没有办法让列表中的值浮动然后对它们进行排序?
- android - Flutter google_maps_places 搜索后不显示地点
- apache-spark - 在 Dataproc 上使用 Spark 进行跨账户 GCS 访问
- android - 通过@Field 进行改造发布使值成为一个数组
- javascript - 我找不到为什么我不能将数据传递给道具
- python - 无法让 scapy 2.4.3 http 层支持工作
- excel - 跨多列填写每 X 行的平均值
- python - 以csv或xlsx格式输出多个PDF文件及其对应文本文件的大小