Шаблон нового проекта 1С для автоматизации на GitHub Actions
Работает на собственном github runner. Предварительно его нужно настроить. Устанавливаем:
- Платформу 1С нужной версии. Например 8.3.17.1846
- OneScript 1.4
- Пакеты OneScript:
- add
- vanessa-runner
Для автоматизации рутинных и скучных действий используется GitHub Actions.
Автоматизированы процессы:
- Cинтаксический контроль
- Модульное тестирование
- Публикация отчета о тестировании Allure
- Статический анализ SonarQube
- Публикация cf файла в релиз
Перед началом запуска workflow нужно настроить секреты в проекте (Settings -> Secrets). Нужны следующие переменные:
- SONARQUBE_HOST - ссылка на сервис SonarQube. Например: https://open.checkbsl.org/.
- SONARQUBE_TOKEN - токен доступа на сервис SonarQube. Генерируется на странице профиля в SonarQube.
Для публикации отчетов Allure используется GitHub Pages. Предварительно нужно создать новую пустую ветку gh-pages
.
Блок CI описан в файле ci.yml.
-
Изменить в файле переменную среды
BASE_PATH
.BASE_PATH: ./bsl-actions-template
Меняем
./bsl-actions-template
на каталог проекта GitHub. Например./my-project
. -
Условие
if: github.repository == 'silverbulleters/bsl-actions-template'
в заданииsonar-analyze
меняем на условие с "путем" к проекту. Например:if: github.repository == 'author/my-project
.
В workflow 3 задачи:
testing
- сборка и тестирования проекта с помощью vanessa-runner и xUnit (из ADD)sonar-analyze
- анализ проекта 1с на SonarQubeallure
- публикация отчеты Allure на странице GitHub Pages. Пример адреса: https://silverbulleters.github.io/bsl-actions-template
Часть блока CD описано в файле release.yml. Как и в блоке CI нужно поменять значение у
переменной среды BASE_PATH
.
В итоге при создании нового релиза автоматически будет собрана CF и опубликована в релизе.