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。
对于旧的代码库,我们正在尝试从仅通过 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。