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