簡體   English   中英

如何以非 root 用戶身份在自托管構建代理上執行管道

[英]How to execute pipeline on self-hosted build agent as non-root user

我已經構建了在 docker 中運行的自托管 ubuntu 代理。

一切正常,構建代理正在工作等。

除了管道步驟中的所有內容都以 root 而不是非 root 用戶身份執行。

例如,當我嘗試執行“npm ci”並查看我的構建代理日志時:

; node bin location = /usr/bin/node; cwd = /azp/agent/_work/1/s/Core; HOME = /root

vs 來自 Microsoft 托管的構建代理的日志:

; node bin location = /usr/local/bin/node; cwd = /home/vsts/work/1/s/Core; HOME = /home/vsts

這給了我很多階段的問題,因為以 root 身份運行一些命令需要不同的設置等。有誰知道如何從 ROOT 更改它?

我在dockerfile和 Microsoft 提供的start.sh腳本中進行了嘗試,但沒有奏效。 如果我以 docker 用戶而不是 root 用戶身份執行 start.sh,則構建代理根本不會啟動。 有什么線索嗎? 想法?

您可以在帳戶下安裝 linux 代理,以從根目錄更改它,例如/home/{accountname}/

下面是關於如何在非root用戶下安裝linux代理的步驟。

非root用戶連接linux代理

ssh useraccount@linuxIp

創建一個文件夾並 cd 文件夾。

mkdir myagent && cd myagent

從 url 下載 package。

wget https://vstsagentpackage.azureedge.net/agent/2.155.1/vsts-agent-linux-x64-2.155.1.tar.gz

解壓縮文件。

tar xzf vsts-agent-linux-x64-2.155.1.gz

配置 linux 代理

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM