Git push 执行不需要的 Gitlab runner

Posted

技术标签:

【中文标题】Git push 执行不需要的 Gitlab runner【英文标题】:Git push executes unwanter Gitlab runner 【发布时间】:2018-02-10 23:57:29 【问题描述】:

我是 GitLab CI 的新手。仅出于测试目的构建了非常简单的 YAML。我在我的 AWS 机器上配置了带有 shell 执行器的 runner 并正确注册了它。在设置/管道中,我看到激活的跑步者。当我在我的存储库上推送一些东西时,应该执行 YAML:docker-auto-scale

before_script:
  - npm install

cache:
  paths:
    - node_modules/

publish:
  stage: deploy
  script:
    - node app.js

相反,另一个跑步者正在持续启动(无论我改变什么 - 即使我关闭了我机器上的跑步者)。它是带有 ID 的跑步者:跑步者:#40786。在日志中我可以阅读:

使用 gitlab-ci-multi-runner 9.5.0 (413da38) 运行 在 docker-auto-scale (e11ae361) 使用 Docker 执行器和图像 ruby​​:2.1 ...

我什至没有 Docker 执行器 - 我选择了 shell 之一。到底是怎么回事?请支持。

【问题讨论】:

如果你说你没有任何 docker runner,它在什么机器上运行? 问什么机器是什么意思?这是 AWS 机器。它具有运行器配置以与 shell 一起使用。 它被配置为运行一个 shell 运行器,但它正在运行一个 docker 运行器? 【参考方案1】:

你注册新跑者的时候,有给它打标签吗?

如果是这样,那将是例如my_tag修改你的yaml文件并追加:

publish:
  stage: deploy
  script:
  - node app.js
  tags:
  - my_tag

否则构建将被共享运行器拾取。

【讨论】:

以上是关于Git push 执行不需要的 Gitlab runner的主要内容,如果未能解决你的问题,请参考以下文章

如何禁止GitLab分支被push

如何禁止GitLab分支被push

gitlab ssh-key 不生效问题,ssh push需要密码

如何禁止GitLab分支被push

git已经push代码到gitlab如何回退

Gitlab新建项目push报 remote origin already exists