Gitlab runner 似乎没有加载 docker 图片

Gitlab runner does not seem to load docker image

对于旧的代码库,我们正在尝试从仅通过 FTP 上传更改到使用 Gitlab CI/CD。但是,我们 none 中有丰富的 Gitlab 经验,我一直在尝试按照本指南设置部署:

https://savjee.be/2019/04/gitlab-ci-deploy-to-ftp-with-lftp/

我现在 运行 是我自己 mac 的 gitlab-runner,但是,我的 yml 文件中的 docker 图像似乎没有正确加载。使用文章中的 yml 时:

image: ubuntu:18.04

before_script:
  - apt-get update -qy
  - apt-get install -y lftp

build:
  script:
    # Sync to FTP
    - lftp -e "open ftp.mywebhost.com; user $FTP_USERNAME $FTP_PASSWORD; mirror -X .* -X .*/ --reverse --verbose --delete local-folder/ destination-folder/; bye"

它告诉我apt-get: command not found。我也尝试过使用 apk-get,但没有区别。我试图找到一个不同的 docker 图像,它提前安装了 lftp,但后来我只得到一个 lftp: command not found:

image: minidocks/lftp:4

before_script:
  # - apt-get update -qy
  #- apt-get install -y lftp

build:
  script:
    - lftp -e "open ftp.mywebhost.com; user $FTP_USERNAME $FTP_PASSWORD; mirror -X .* -X .*/ --reverse --verbose --delete local-folder/ destination-folder/; bye"
    - echo 'test this'

如果我注释掉 lftp/apt-get 位,我会得到 echo 命令,但是(它确实有效)。

我在网上搜索似乎找不到任何原因。抱歉,如果这是一个重复的问题,或者我一直在寻找错误的地方。

根据您的问题,您似乎正在使用 shell 执行器在 gitlab-runner 上执行任务。

shell 执行器不处理 the runner compatibility matrix 中公开的 image 关键字。

此外,由于您要部署在 docker 个容器上,因此无论如何您都需要 docker executor