lftp 无法在 gitlab 中 运行-ci, returns shell not found

lftp fails to run in gitlab-ci, returns shell not found

当我使用此 .gitlab-ci.yml 配置将示例文件上传到我的 ftp 时:

variables:
  FTP_HOST: ******
  FTP_PASSWORD: *******
  FTP_USERNAME: *******

stages:
  - build
  - test
  - deploy

samplejob:
  stage: build
  script:
    - mkdir sample
    - echo 'lorem ipsum' > sample/s1.txt
  artifacts:
    expire_in: 2d
    paths:
      - sample/

upload:
  stage: deploy
  #image: mwienk/docker-lftp:latest
  image: alpacadb/docker-lftp:latest
  script:
    - lftp -v
    - lftp -e "set ftp:ssl-allow false; mirror -eRnv sample deploy-test; exit;" -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST

结果是 shell not found 错误。使用 gitlab 11.0.3-ee 和 gitlab-runner 11.0.0

这是作业终端输出:

Running with gitlab-runner 11.0.0 (5396d320)
  on build.dev.*****.com 75df7aee
Using Docker executor with image alpacadb/docker-lftp:latest ...
Pulling docker image alpacadb/docker-lftp:latest ...
Using docker image sha256:49f8f3e772415878d19828d9d402699d5d18f550220877fa21ebe64f87fbb36a for alpacadb/docker-lftp:latest ...
Running on runner-******-project-60-concurrent-0 via build.dev.*****.com...
Fetching changes...
Removing sample/
HEAD is now at 925653b Update .gitlab-ci.yml
Checking out 925653b9 as master...
Skipping Git submodules setup
Downloading artifacts for samplejob (258)...
Downloading artifacts from coordinator... ok        id=258 responseStatus=200 OK token=ZUW7pcbQ
open: invalid option -- 'c'
Usage: lftp [-e cmd] [-p port] [-u user[,pass]] <host|url>
Unknown command `exec'.
Unknown command `elif'.
Unknown command `then'.
Unknown command `exec'.
Unknown command `elif'.
Unknown command `then'.
Unknown command `exec'.
Unknown command `elif'.
Unknown command `then'.
Unknown command `exec'.
Unknown command `elif'.
Unknown command `then'.
Unknown command `exec'.
Unknown command `elif'.
Unknown command `then'.
Unknown command `exec'.
Unknown command `else'.
shell not found
open: invalid option -- 'c'
Usage: lftp [-e cmd] [-p port] [-u user[,pass]] <host|url>
Unknown command `exec'.
Unknown command `elif'.
Unknown command `then'.
Unknown command `exec'.
Unknown command `elif'.
Unknown command `then'.
Unknown command `exec'.
Unknown command `elif'.
Unknown command `then'.
Unknown command `exec'.
Unknown command `elif'.
Unknown command `then'.
Unknown command `exec'.
Unknown command `elif'.
Unknown command `then'.
Unknown command `exec'.
Unknown command `else'.
shell not found
ERROR: Job failed: exit code 1

这个配置有什么问题?

我解决了使用 image: mwienk/docker-lftp:latest 而不是 image: alpacadb/docker-lftp:latest 的问题。