代码之家  ›  专栏  ›  技术社区  ›  evanernest

Gitlab Runner未提取Gitlab ci中定义为服务的映像。yml公司

  •  1
  • evanernest  · 技术社区  · 7 年前

    出于某种原因,Gitlab中的Gitlab Runner没有提取或使用我在Gitlab ci中定义为服务的映像。yml。我在本地安装了gitlab runner,一切正常,但当我推到gitlab时,它就不起作用了。我把它弄丢了。

    gitlab ci。yml:

    build:
      stage: build
      services:
        - mysql
      image: chilio/laravel-dusk-ci:stable
    

    Gitlab的输出,仅使用 image ,而不是由定义的图像 services :

    Running with gitlab-ci-multi-runner 9.5.0 (413da38)
      on gitlab-runner-gitlab-runner-3695154600-vj3bh (8620b628)
    Using Kubernetes namespace: default
    Using Kubernetes executor with image chilio/laravel-dusk-ci:stable ...
    Waiting for pod default/runner-8620b628-project-1-concurrent-0jqbbv to be running, status is Pending
    Running on runner-8620b628-project-1-concurrent-0jqbbv via gitlab-runner-gitlab-runner-3695154600-vj3bh...
    Cloning repository...
    

    从我的本地机器输出,同时拉动:

    Running with gitlab-ci-multi-runner 9.5.0 (413da38)
      on  ()
    Using Docker executor with image chilio/laravel-dusk-ci:stable ...
    Starting service mysql:latest ...
    Pulling docker image mysql:latest ...
    Using docker image mysql:latest ID=sha256:f0f3956a9dd825e3195f0d1a4fe17cc94b0f6934fc470b09abf8fad87d17ff24 for mysql service...
    Waiting for services to be up and running...
    Using docker image sha256:64cbb31659359752dd4fb4580047faf5b0ec487258d09ca8a97897a0ba615d1b for predefined container...
    Pulling docker image chilio/laravel-dusk-ci:stable ...
    Using docker image chilio/laravel-dusk-ci:stable ID=sha256:a07a953be1b12bc294b5bbdb229fe7312c2916b7ad3397ff970b8145165e36e7 for build container...
    Running on runner--project-0-concurrent-0 via mchale...
    

    我错过了什么?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Stefan van Gastel    7 年前

    你必须定义 services 在您的 .gitlab-ci.yml . 如图所示 docs .

    您的文件如下所示:

    services:
      - mysql:latest
    
    variables:
      # Configure mysql environment variables (https://hub.docker.com/r/_/mysql/)
      MYSQL_DATABASE: el_duderino
      MYSQL_ROOT_PASSWORD: mysql_strong_password
    
    build:
      stage: build
      image: chilio/laravel-dusk-ci:stable
    
        2
  •  1
  •   evanernest    7 年前

    解决了这个问题。这是由于库伯内特遗嘱执行人的性质,其工作方式略有不同。使用Kubernetes构建时,服务构建在与runner容器一起的pod中,因此runner不会宣布正在加载该图像。更多信息请点击此处:

    More info