以非root用户身份运行gitlab-ci管道作业

时间:2018-02-02 05:45:57

标签: maven gitlab gitlab-ci gitlab-ci-runner

我有一个mvn项目,必须以非root用户身份构建 但默认情况下,gitlab-ci允许运行者以root用户身份运行。 我通过设置gitlab.com文件来使用gitlab-ci.yml个参赛者。 我尝试创建一个用户并切换到它:

$ useradd ***
$ su -***
$ whoami
root

它仍然说我是根。 我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

您可以使用 // my splitContainer1 is Horizontal so i used splitContainer1.ClientSize.Height // if you have splitContainer1 is Vertical use splitContainer1.ClientSize.Width // without FixedPanel save and load """ // loading SplitterDistance from ini file int splitContainery = 0; splitContainery = (Win32.GetPrivateProfileInt(PluginName, "splitContainer", 0, iniFilePath)); splitContainer1.SplitterDistance = splitContainer1.ClientSize.Height - splitContainery; // saving splitContainer1.SplitterDistance to ini file int hhkt = splitContainer1.ClientSize.Height - splitContainer1.SplitterDistance; Win32.WritePrivateProfileString(PluginName, "splitContainer", hhkt.ToString(), iniFilePath); 轻松实现此目标,例如, 摘录自我的.gitlab-ci.yml:

background-size: contain;

{GITLAB_USER}是您的实际gitlab用户。 请记住在脚本中转义$

答案 1 :(得分:0)

有几种方法可以实现这一目标。 由于gitlab-ci作业只是运行进程的docker容器, 实现这一目标的一种方法 将使用gosu,您可以在其中以非root用户身份运行进程。 一些链接显示如何使用gosu:

答案 2 :(得分:0)

只需为正确的用户安装gitlab-runner服务:

gitlab-runner install --working-directory /home/ubuntu --user ubuntu

此处,ubuntu是任意非root用户。

相关问题