Выполнение команд 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.
Команды, связанные с плагинами¶
- 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
- Удалить архив с исходниками.