以 jenkins 用户身份运行 doctl

问题描述 投票:0回答:1

我们有一个 Jenkins CI 服务器,在 Ubuntu 上运行。我可以以

root
身份登录,但
jenkins
用户正在运行管道。作为管道的一部分,我想将图像推送到数字海洋登记处。

如果我作为

root
用户,我可以成功进行身份验证、登录和推送,但我无法使其作为
jenkins
用户(作为管道的一部分)工作。例如,如果我调用
sudo -u jenkins doctl auth init
,它想要写入
/root/.config
文件,当然,由于权限问题,这是不允许的。

不知何故,我希望能够运行连接到

doctl
用户而不是
jenkins
用户的
root
。将
doctl
命令安装到
jenkins
用户或强制使用用户
jenkins
的配置文件/文件夹。

(正如您可能发现的那样,我不是 Linux 专家。)

ubuntu jenkins digital-ocean
1个回答
0
投票

您不需要

sudo -u jenkins
- 您的 Jenkins 已经以用户
jenkins
身份运行。很正常

withCredentials([string(credentialsId: 'DO_API_TOKEN', variable: 'TOKEN')]) {
  sh script: '''
    doctl auth init --access-token "$TOKEN"
  '''
}

显然,您需要首先将

DO_API_TOKEN
作为“秘密文本”添加到您的 Jenkins 凭证中。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.