V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
IurNusRay
V2EX  ›  问与答

关于 gitlab CI/CD 的执行用户的问题

  •  
  •   IurNusRay · 2021-01-18 09:41:36 +08:00 · 1067 次点击
    这是一个创建于 1415 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有带哥用过 gitlab 的 CI/CD 功能吗,为什么我安装 runner 的时候指定了以 ubuntu 这个用户执行,但是实际部署时,偶尔会发生它用 gitlab-runner 这个用户去执行部署脚本呢(权限不足会导致失败),关键是大部分时候都是正常的,实在想不通

    9 条回复    2021-01-18 14:45:45 +08:00
    julyclyde
        1
    julyclyde  
       2021-01-18 12:37:30 +08:00
    偶尔?
    ETiV
        2
    ETiV  
       2021-01-18 13:01:00 +08:00 via iPhone
    重启一下运行 runner 的机器,再试试看
    IurNusRay
        3
    IurNusRay  
    OP
       2021-01-18 13:31:28 +08:00
    @julyclyde 是的,大部分情况下都是用我配置的 ubuntu 用户去执行部署命令,但是偶尔会出现用 gitlab-runner 这个用户去执行,没什么规律
    IurNusRay
        4
    IurNusRay  
    OP
       2021-01-18 13:31:53 +08:00
    @ETiV 我有试过删除旧的 runner 重新安装,还是一样
    matrix67
        5
    matrix67  
       2021-01-18 13:37:18 +08:00
    看下 systemd 的配置中,是咋配置的。

    [Unit]
    Description=GitLab Runner
    After=syslog.target network.target
    ConditionFileIsExecutable=/usr/local/bin/gitlab-runner

    [Service]
    StartLimitInterval=5
    StartLimitBurst=10
    ExecStart=/usr/local/bin/gitlab-runner "--debug" "run" "--working-directory" "/home/gitlab-runner" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--syslog" "--user" "root"

    Restart=always
    RestartSec=120

    [Install]
    WantedBy=multi-user.target


    ------------------

    直接命令行执行,也可以加是哪个用户的 --user

    /usr/local/bin/gitlab-runner --debug run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user gitlab-runner

    可以加上--debug 看下。
    IurNusRay
        6
    IurNusRay  
    OP
       2021-01-18 13:57:16 +08:00
    @matrix67 我在 run 的时候是特别加了 working-directory 和 user 的配置的,下面是 systemd 的配置
    IurNusRay
        7
    IurNusRay  
    OP
       2021-01-18 13:57:30 +08:00
    [Unit]
    Description=GitLab Runner
    After=syslog.target network.target
    ConditionFileIsExecutable=/usr/bin/gitlab-runner

    [Service]
    StartLimitInterval=5
    StartLimitBurst=10
    ExecStart=/usr/bin/gitlab-runner "run" "--working-directory" "/home/ubuntu" "--config" "/etc/gitlab-runner/config.toml" "--service" "switch_api_service" "--syslog" "--user" "ubuntu"





    Restart=always
    RestartSec=120

    [Install]
    WantedBy=multi-user.target
    matrix67
        8
    matrix67  
       2021-01-18 14:10:39 +08:00
    @IurNusRay #7 是用 systemd 的时候,一定要设置为 root 。 我那时候好像是这样的,不知道现在改了没
    你可以看看这个 https://gitlab.com/gitlab-org/gitlab-runner/-/issues/1121 里面好像有个 workaround
    IurNusRay
        9
    IurNusRay  
    OP
       2021-01-18 14:45:45 +08:00
    @matrix67 谢谢,我看这里面给出的方法是去改 gitlab-runner.server 里面 user 配置,先试试看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1057 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:53 · PVG 03:53 · LAX 11:53 · JFK 14:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.