Выполнение команд Fabric

Основы использования Fabric

Для многих задач, связанных со сборкой, тестированием и выкладыванием новых версий на сайт, используется Fabric - удобный инструмент, который позволяет автоматизировать многие задачи как на удаленном сервере, так и на локальном компьютере. На русском языке про Fabric можно почитать в статье Основы использования Fabric.

Основная идея использования Fabric состоит в том, что все команды (или задачи) описываются в файле fabfile.py, расположенном в корневой папке исходных кодов.

Чтобы узнать список имеющихся в данном fabfile.py команд, выполните к консоли команду:

fab -l

Будет выведен следующий список команд:

Available commands:

    apiversion            Print current OutWiker API versions
    apiversions           Print current OutWiker API versions
    build                 Create artefacts for current version.
    clear                 Remove artefacts after all assemblies
    create_tree           Create wiki tree for the tests
    deb                   Assemble the deb packages
    deb_binary            Create binary deb package
    deb_binary_clear      Remove binary deb package
    deb_clear             Remove the deb packages
    deb_install           Assemble deb package for current Ubuntu release
    deb_single            Assemble the deb package for the current Ubuntu release
    deb_sources_included  Create files for uploading in PPA (including sources)
    deploy                Upload unstable version to site
    doc                   Build documentation
    linux_binary          Assemble binary builds for Linux
    linux_clear           Remove binary builds for Linux
    locale                Update the localization file (outwiker.pot)
    locale_plugin         Create or update the localization file for pluginname plug-in
    outwiker_changelog    Generate OutWiker's changelog for the site
    plugin_changelog      Generate plugin's changelog for the site
    plugin_locale         Create or update the localization file for pluginname plug-in
    plugins               Create an archive with plugins (7z required)
    plugins_clear         Remove an archive with plugins (7z required)
    plugins_list          Print plugins list for th site
    prepare_virtual       Prepare virtual machine
    run                   Run OutWiker from sources
    site_versions         Compare current OutWiker and plugins versions with versions on the site
    sources               Create the sources archives
    sources_clear         Remove the sources archives.
    test                  Run the unit tests
    test_build            Run the build unit tests
    upload_binary         Upload unstable version to site
    upload_plugin         Upload plugin to site
    upload_plugins_pack   Upload archive with all plugins to site
    vm_halt               Stop virtual machines for build
    vm_linux_binary       Create 32- and 64-bit assembly on virtual machines
    vm_prepare            Prepare virtual machines for build
    vm_remove_keys        Remove local SSH keys for remote virual machines
    vm_run                Run virtual machines for build
    vm_stop               Stop virtual machines for build
    vm_update             Update the virtual machines
    win                   Build OutWiker for Windows with cx_Freeze
    win_clear             Remove assemblies under Windows

Все эти команды описаны ниже.

Чтобы выполнить команду, в консоли нужно написать:

fab имя_команды

Некоторые команды могут (или должны) принимать некоторые параметры. Параметры передаются после имени команды и символа «:», как показано ниже:

fab имя_команды:парам1,парам2

Обратите внимание, что после двоеточия и запятой в списке параметров не должно быть пробела. Если параметр должен содержать пробел, то такое значение должно быть заключено в кавычки:

fab имя_команды:"параметр с пробелами"

Примечание

Некоторые команды Fabric принимают булевы параметры. Чтобы в такую задачу передать значение True, в качестве параметра в командной строке нужно передать одно из следующих значений: 1 или true (независимо от регистра). Чтобы передать значение False, нужно передать какое-либо другое значение.

Сборка

build
Запускает сборку OutWiker под ту операционную систему, в которой запущена данная команда. Под Windows запускается команда сборки win (см. раздел Сборка под Windows), под Linux - vm_linux_binary и deb_sources_included (см. раздел Сборка под Linux). Также под всеми операционными системами запускается команда source для создания архивов с исходными кодами (см. раздел Другие команды) и команда plugins для создания архивов с плагинами (см. раздел Команды, связанные с плагинами).

Сборка под Windows

win
Сборка OutWiker под Windows с помощью PyInstaller, а также инсталятор с помощью Inno Setup. Подробнее см. раздел Сборка под Windows.
win_clear
Удалить все, что создается с помощью команды win.

Сборка под Linux

deb
Создать deb-пакет на основе исходных кодов для всех поддерживаемых версий Ubuntu.
deb_single
Создать deb-пакет на основе исходных кодов под ту версию Ubuntu, в которой происходит сборка.
deb_install
Создать deb-пакет на основе исходных кодов и установить его в систему.
deb_clear
Удалить все артефакты, которые создаются с помощью команды deb.
deb_sources_included
Создать deb-пакеты на основе исходных кодов для всех поддерживаемых версий Ubuntu. Используется для закачки на PPA.
deb_binary
Создать deb-пакеты на основе бинарной сборки под Linux.
deb_binary_clear
Удалить все, что создается с помощью команды deb_binary
linux_binary
Создать бинарную сборку под Linux с помощью PyInstaller.
linux_clear
Удалить созданную бинарную сборку под Linux.

Подробнее о сборке OutWiker под Linux см. раздел Сборка под Linux.

Команды, связанные с плагинами

plugins
Создать архивы с плагинами (отдельный архив на каждый плагин и общий архив со всеми плагинами). Эта команда может принимать булево значение. Если оно равно 1, то создаются архивы только для тех плагинов, которые имеют более новые версии по сравнению с теми, что выложены на сайте программы. Общий архив с плагинами создается в любом случае.
plugins_clear
Удалить все архивы с плагинами.

Команды, помогающие при разработке

run
Запустить OutWiker из исходников.
apiversion или apiversions
Вывести номера версий встроенных пакетов outwiker (см. раздел Структура папки src/outwiker).
test
Запустить интеграционные и юнит-тесты. Подробнее о тестировании см. раздел Тестирование OutWiker.
test_build
Запустить тесты, связанные со сборкой. Подробнее о тестировании см. раздел Тестирование OutWiker.

Команды, связанные с локализацией

locale
Создать файл src/locale/outwiker.pot, используемый для создания файлов локализации.
locale_plugin или plugin_locale
Создать файл локализации *.pot для плагина, указанного в качестве параметра команды.

Команды, связанные с развертыванием

deploy
Команда закачивает бинарные сборки под Windows и Linux на сайт, закачивает deb-пакеты (на основе исходников, не бинарные) на PPA, устанавливает тег в репозитории исходных кодов в соответствии с текущей версией OutWiker. Команда работает для стабильной и нестабильной версий.
outwiker_changelog
Вывести список изменений, который нужно будет вставить на сайт. В качестве параметра требуется указать язык: ru или en.
plugin_changelog
Вывести список изменений для плагина. В качестве параметров требуется указать имя плагина и язык: ru или en.
site_versions
Вывести номера версий OutWiker и всех плагинов. Показываются версии, закачанные на сайт и находящиеся в папке с исходниками.
upload_plugin
Закачать плагин или плагины на сайт. Для плагинов требуется предварительно создать архивы с плагинами с помощью команды plugins.
upload_plugins_pack
Закачать архив со всеми плагинами на сайт. Архив с плагинами требуется предварительно создать с помощью команды plugins.
upload_binary
Закачать бинарные версии OutWiker (под Windows и Linux) на сайт.
plugins_list
Создать таблицу со списком плагинов для сайта. Требуется указать язык: ru или en.

Команды для создания бинарных сборок на виртуальных машинах

Для создания бинарных сборок под различные версии Linux используются виртуальные машины. Для выполнения этих команд должны быть установлены VirtualBox, Vagrant и Ansible. Подробнее см. раздел Создание сборок с помощью виртуальных машин.

vm_run
Запустить все виртуальные машины.
vm_stop или vm_halt
Остановить все виртуальные машины.
vm_prepare
Запустить виртуальные машины и подготовить их к сборке OutWiker. Эта команда устанавливает все необходимые библиотеки.
vm_linux_binary
Создать 32- и 64-битные бинарные сборки под Linux на виртуальных машинах.
vm_remove_keys
Удалить ключи SSH из папки .ssh. Нужно выполнять после переустановки виртуальных машин.

Другие команды

clear
Удалить все, что создано в папке build
create_tree
Создать дерево заметок для тестов.
doc
Скомпилировать данную документацию.
prepare_virtual
Подготовить виртуальную машину с Linux, чтобы в ней можно было бы запустить OutWiker из исходников.
sources
Создать архив с исходниками. Подробнее см. раздел Создание архивов с исходниками.
sources_clear
Удалить архив с исходниками.