Morteza Ziyaeimehr
Morteza Ziyaeimehr

Reputation: 2117

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

When I use this .gitlab-ci.yml config to upload a sample file to my 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

Result is shell not found error. Using gitlab 11.0.3-ee and gitlab-runner 11.0.0

This is the job terminal output:

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

What's wrong with this config?

Upvotes: 0

Views: 1522

Answers (1)

Giulio Scattolin
Giulio Scattolin

Reputation: 36

I resolved that using image: mwienk/docker-lftp:latest instead of image: alpacadb/docker-lftp:latest.

Upvotes: 1

Related Questions