Некоторое время назад я уже писал про эту библиотеку. Но с тех пор мои потребности видоизменились, поэтому появился новый функционал, о котором надо бы рассказать. Собственно чем в этой статье и будем заниматься.
Репозиторий: https://gitlab.com/aeon.org/builder
Установка:
Просто скачайте builder.py и укажите путь до файла в PYTHONPATH. И всё )
Первый скрипт деплоя
Создайте файл deploy.json и заполните его следующим содержимым:
{
"deploy" : {
"host" : "your-ftp-host" , "user" : "your-ftp-user" ,
"password" : "your-ftp-password" , "path" : "path-on-your-ftp-server"
} ,
"order" : [
{ "step" : "deploy" , "type" : "ftp" }
]
}
Затем создайте скрипт deploy.py, содержащий следующий код:
import builder
builder.run()
И когда вы запустите этот скрипт, он скопирует всё содержимое из папки, в которой он был запущен на сервер.
При этом есть возможность деплоить сразу на несколько серверов:
{
"deploy1" : {
"host" : "your-ftp-host-1" , "user" : "your-ftp-user-1" ,
"password" : "your-ftp-password-1" , "path" : "path-on-your-ftp-server-1"
} ,
"deploy2" : {
"host" : "your-ftp-host-2" , "user" : "your-ftp-user-2" ,
"password" : "your-ftp-password-2" , "path" : "path-on-your-ftp-server-2"
} ,
"order" : [
{ "step" : "deploy1" , "type" : "ftp" } ,
{ "step" : "deploy2" , "type" : "ftp" }
]
}
Конфиг из примера выше говорит билдеру, что надо деплоить содержимое директории сразу на два сервера.
Запуск тестов
Билдер может запускать юнит-тесты, написанные на PHPUnit. Чтобы запустить их, добавьте в конфиг test.json:
{
"tests": [
"--filter PlugServiceTest ./tests"
]
}
Затем создайте test.py с тем же содержимым, что deploy.py из предыдущего примера. Затем запустите test.py и расслабьтесь )
Больше документации вы найдёте здесь: https://gitlab.com/aeon.org/builder/wikis/builder.py-home
Если у вас есть вопросы, то вы можете связаться со мной по почте
Или создать тикет здесь - https://gitlab.com/aeon.org/builder/issues