gitlab 使用特定用户启动 shell 管道
Posted
技术标签:
【中文标题】gitlab 使用特定用户启动 shell 管道【英文标题】:gitlab launch shell pipelines with specific user 【发布时间】:2021-11-22 05:31:19 【问题描述】:gitlab_version: 14.1.1-ee
我将 ssh-id 复制到用户“user”的目标主机。
当我使用“shell”运行器创建管道时,我无法通过 ssh 与其他主机通信。
我用“id”命令创建了一个简单的任务,返回“root”。
如何使用“用户”用户启动 gitlab 管道。
谢谢。
【问题讨论】:
您能提供更多细节吗?你有可以分享的gitlab-ci.yml
文件吗?到目前为止,您尝试过的任何事情都遇到过错误吗?没有更多细节,我们无法回答您的问题。
【参考方案1】:
我找到了如何使用“其他用户”而不是“跑步者用户”连接到 linux 目标主机。
程序:
-
在 gitlab 服务器主机上安装
sshpass
。
在Project_name/settings/"CI/CD"/Variable
上,创建一个带密码的pass_var
键值上的字符串。
在 .gitlab-ci.yml 脚本行中的 pipeline/editor
上:
script:
- sshpass -p $pass_var ssh user@host_ip "hostname"
【讨论】:
以上是关于gitlab 使用特定用户启动 shell 管道的主要内容,如果未能解决你的问题,请参考以下文章
GitLab CI shell runner不继承系统环境变量