Всем привет,
разработка системных гранул (common.sys) переведена на GitHub, проект доступен по адресу:
https://github.com/CourseOrchestra/syslib. Соответствующий репозиторий Subversion переведён в Read-only режим. Кроме того, добавлена выкладка на Artifactory, версионированные сборки доступны здесь:
https://artifactory.corchestra.ru/artifactory/syslib/— Как теперь использовать системные гранулы?Можно как и прежде — через SVN Externals, указывая в качестве URL ссылку на проект GitHub. (Disclaimer: в интернете пишут, что так должно работать, но лично я не пробовал :-)
Если вы используете Ansible для развёртывания решений, предпочтительным вариантом является закачивание версионированной сборки с Artifactory с помощью примерно такого таска:
- name: get common.sys from Artifactory
unarchive:
remote_src: yes
src: "https://{{ artifactory_user }}:{{ artifactory_password }}@artifactory.corchestra.ru/artifactory/syslib/{{ syslib_build }}/syslib.tgz"
dest: "{{ userdatas }}/common.sys"
— Что за файлы находятся внутри Artifactory-сборки?- syslib.tgz — собственно, системная юзердата
- syslib.templates.tgz — шаблоны настроек (grainsSettings и generalapp.properties)
— Почему формат архива — tgz?
Основной вариант использования этих сборок — установка через Ansible на Linux. При работе на Linux с tgz-архивами не требуется установки дополнительных пакетов, что несколько упрощает жизнь.
— Как теперь дорабатывать системную библиотеку?
Через Pull Request на GitHub. Каждый pull request должен пройти сборку на Jenkins и Code Review от владельца проекта (Марии Прудывус).
Т. к. на системные гранулы нет юнит-тестов, единственная проверка на Jenkins состоит в прогоне статического анализатора flake8 и в проверке того факта, что количество ворнингов не увеличивается относительно количества ворнингов предыдущей успешной сборки (так называемый ratcheting). На текущий момент flake8-ворнингов 2221 штука, посмотреть их можно на Jenkins-е в файле
flake8report.txt, генерируемом вместе с каждой сборкой.
С уважением,
Иван Пономарёв