В настоящее время я пытаюсь настроить документацию для Travis CI. Сценарий сборки использует библиотеку mkdocs для генерации файлов разметки в файлы HTML. Я уже много часов пытался автоматизировать процесс развертывания с помощью Travis CI. Он должен генерировать файлы непосредственно в Travis CI и затем загружать его на FTP-сервер.
То, что я пробовал
Итак, я зафиксировал это .travis.ymlфайл в мой репозиторий Github.
language: python
python:
- "2.7"
env:
global:
#FTP_USERNAME
- secure: "N9knL6LsuiZ....."
#FTP_PASSWORD
- secure: "NrRpwCeay7Y0s....."
install:
- pip install mkdocs
- mkdocs --version
script:
- mkdocs build
after_success:
- find documentation -type f -exec curl -u "${FTP_USERNAME}:${FTP_PASSWORD}" --verbose --progress-bar --ftp-create-dirs --max-time 30 -T {} ftp://my.ftp-server.com/{} \;
Сценарий сборки mkdocs выводит сгенерированные файлы в корневую папку «документация». На самом деле этот код работает, если каталог на FTP-сервере не существует.
Что не работает
Я попробовал тот же код локально (только что выполнил команду after_success) и там он корректно загружает файлы с содержимым. Когда Travis-CI начинает загружать файлы на мой FTP-сервер, он начинается с передачи, но не заканчивается до тех пор, пока не будет сгенерировано исключение тайм-аута. Когда я проверяю файлы на сервере, он создает только пустые файлы.
Может быть, кто-то может мне помочь, почему возникает эта проблема?