GITLAB + lftp: файлы не обновляются на FTP-сервере, даже если они были изменены при последнем коммите - PullRequest
0 голосов
/ 19 марта 2019

1001 *
*

у нас есть проблема с конвейерами GITLAB-CI, когда мы фиксируем новую модификацию на сервере. Мы хотим обновить модификацию на FTP-сервере автоматически.

Для этого мы используем простую конфигурацию CI в файле gitlaci.yaml :

deploy:
  script:
    - bash ./deploy.sh
  only:
    - develop
    - master

Содержимое deploy.sh также очень просто:

#!/bin/bash

echo "Deployment start";

echo "*** Target branch test:"
target="null"
case "$CI_COMMIT_REF_NAME" in
"develop")
    target=$DEV
    ;;
"master")
    target=$PROD
    ;;
*)
    echo "Pas de deployment sur cette branch"
    exit 1;
    ;;
esac
echo "*** $target"


echo "*** Install client FTP"
apt-get update -qq && apt-get install -y -qq lftp

echo "*** Copy file to target"
lftp -c "set ftp:ssl-allow no; open -u $USERNAME,$PASSWORD $HOST; mirror -Rnev ./ $target --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"

(переменные будут настроены в переменной CI, и большую часть времени она работает)

Когда мы пытаемся внедрить изменения по конвейеру, мы имеем

  • иногда он отправляет файлы
  • иногда ничего не отправляет , ноль файлов, даже те, которые были изменены в последнем коммите
(Reading database ... 29705 files and directories currently installed.)
Preparing to unpack .../lftp_4.7.4-1_amd64.deb ...
Unpacking lftp (4.7.4-1) ...
Setting up lftp (4.7.4-1) ...
*** Copy file to the target
Job succeeded

Есть идеи?

Задание выполнено успешно, но переданный файл не отправляется на FTP ...
Что немного странно ... Как получить конвейер, если файл не изменен ^^ ??

Вы знаете, что случилось?

Спасибо,
С уважением,
Nicolas

...