config.toml 注册跑步者后未创建

config.toml not created after registering runner

我正在使用 docker-compose 创建容器

version: '3.5'
services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    hostname: 'localhost'
    restart: unless-stopped
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        gitlab_rails['gitlab_shell_ssh_port'] = 22
    ports:
      - "80:80"
      - "22:22"
    volumes:
      - D:/Projects/gitlab_data/data/docker/gitlab/etc/gitlab:/etc/gitlab
      - D:/Projects/gitlab_data/data/docker/gitlab/var/opt/gitlab:/var/opt/gitlab
      - D:/Projects/gitlab_data/data/docker/gitlab/var/log/gitlab:/var/log/gitlab
    networks:
      - gitlab_net

  gitlab-runner:
    image: gitlab/gitlab-runner:alpine
    restart: unless-stopped
    depends_on:
      - gitlab
    volumes:
      - D:/Projects/gitlab_data/data/docker/gitlab/etc/gitlab-runner:/etc/gitlab-runner
      - D:/Projects/gitlab_data/data/docker/gitlab/var/run/docker.sock:/var/run/docker.sock
    networks:
      - gitlab_net

networks:
  gitlab_net:

之后我注册了我的 运行ner

docker exec -ti gitlab_gitlab-runner_1 bash

gitlab-runner register

Enter the GitLab instance URL (for example, https://gitlab.com/):
http://gitlab:80
Enter the registration token:
GR13489411eYiYvPn5APgEwsXT9Eo
Enter a description for the runner:
[07d407440ddd]: runner
Enter tags for the runner (comma-separated):
runner
Enter optional maintenance note for the runner:

我的 运行ner 出现在 web 界面中,但是有问题,在 web 界面中, 运行ner 显示警告: New 运行ner,还没有联系

screenshot

i 运行 gitlab-runner verify 然后我 运行 gitlab-runner run 但是我收到这个错误(config.toml 注册后确实没有创建 运行纳尔):

listen_address not defined, metrics & debug endpoints disabled  builds=0
[session_server].listen_address not defined, session endpoints disabled  builds=0
ERROR: Failed to load config stat /etc/gitlab-runner/config.toml: no such file or directory  builds=0 ```

我想知道使用 Docker-managed 卷是否可以解决问题,在这里。

尝试以下操作:

  gitlab-runner:
    ...
    volumes:
      - gitlab-runner-config:/etc/gitlab-runner
      - D:/Projects/gitlab_data/data/docker/gitlab/var/run/docker.sock:/var/run/docker.sock
    ...

volumes:
  gitlab-runner-config:

这告诉 Docker 将容器内的 /etc/gitlab-runner 路径挂载到名为 gitlab-runner-config 的卷。

Re-register这些变化后的跑步者,并报告你的结果。


另一种可能的解决方案是尝试 Windows-based GitLab Runner 可执行文件:https://docs.gitlab.com/runner/install/windows.html