一、windows机器安装agent切换启动用户
1、第三方构建机安装
在DevOps环境安装好agent之后,可以看到默认的启动用户是一个虚拟用户“NT AUTHORITY\SYSTEM”,如下图
2、切换启动用户
首先,agent的安装是将agent作为系统服务,服务的启动用户为windows的内置用户system。为了在流水线过程中可以读取到用户环境变量和用户目录等信息,需要将系统服务的启动用户改为登录用户。具体步骤如下: 1.在windows运行中执行命令services.msc打开windows服务管理界面,找到服务devops_agent_{agent_id}(注:每个agent_id都是不同的,agent_id的值可以在配置文件.agent.properties中找到。旧版agent的服务为landun_devops_agent)
2.右键->属性,在登录页签下选择此账户;如果是入域的构建机,账户名填写“域名\用户名”,例如domain\userA;如果没有入域的构建机,账户名填写“.\用户名”,例如.\admin、.\administrator、.\bkdevops;输入密码后,点击确认按钮。
3.重启构建机agent使服务生效
二、Linux机器安装agent切换启动用户
假设原启动用户是root,要切换的用户是amen
1、停第三方构建机服务
cd 安装目录
./stop.sh
2、修改安装目录属主属组
# 可能需要root权限去操作
chown -R amen: 安装目录
# 注意隐藏文件.agent.properties要修改
cd 安装目录
chown amen: .agent.properties
# 切换为amen用户修改.agent.properties中的devops.slave.user
su - amen
vim 安装目录/.agent.properties
# 修改devops.slave.user的值为amen
devops.slave.user=amen
3、切换用户启动服务
su - amen
cd 安装目录
./start.sh
4、验证
页面显示 修改前:
修改后:
流水线
另外,在bash插件中使用whoami 或echo ${USER} 命令可以验证当前启动用户是否修改为要改的启动用户
|