CI шаблоны для Аврора ОС
В этом репозитории представлены шаблоны для автоматизации сборки и доставки приложений для Аврора ОС.
Если нашли ошибку в работе пайплайна прошу просмотреть и по необходимости добавить в раздел с проблемами. Свои предложения и доработки присылайте в мерж реквест.
Сделано на основе инструкции от ОМП.
Обсудить пайплайны, их использование и другие вопросы по разработке можно в чате Aurora Developers.
Использование
В первую очередь вам необходимо настроить проект с CI в организации и зарегистрировать ранера соответсвующего типа (shell, docker). В этом проект создать пустой пайплайн в соответсвующем yaml-файле.
Включение репозитория в пайплайн
Для использования представленных шаблонов необходимо включить соответсвующие файлы в ваш пайплайн. Для этого добавьте следующую конструкцию в начало вашего gitflic-ci.yaml:
include:
- project:
project_path: "vryabchevsky/aurora_ci"
ref: main
file:
# список файлов с шаблонами
Установка версии приложения
Если вы хотите в качестве версии приложения использовать тег, то предлагаю воспользоваться шаблоном .set_version из файла publish.yml. Для этого включите соответсвующий файл в проект и добавьте соответсвующий этап:
stages:
- set_version
---
set_veriosn_test:
stage: set_version
variables:
GIT_STRATEGY: none
rules:
- if: $CI_COMMIT_TAG
extends: .set_verion
Сборка с помощью apptool
Для сборки с помощью apptool вам потребуется ранер типа docker. Далее подключите файл build_qt_apptool.yml. Далее достаточно вызвать .build_qt в нужном стейдже и указать в переменных необходимую архитектуру:
build_qt_aarch64:
stage: build_qt
variables:
ARCH: aarch64
extends: .build_qt
Подписывание пакета
Для подписывания пакета достаточно добавить джобу и подключить .sign_apps (входит в состав build_qt_apptool.yml). Если в проекте или организации отсутствуют переменные APP_CERT64 и APP_KEY64, то будут автоматически скачаны и применены общедоступные ключевые пары.
sign_apps:
stage: sign
extends: .sign_apps
Для передачи своих пар достаточно преобразовать их в base64 и добавить переменные к проекту или организации. Например:
cat regular_key.pem | base64
cat regular_cert.pem | base64
Вместо regular_key требуется подставить названия ваших файлов.
Пайплайн “под ключ”
Следующий код пайплайна вы можете “как есть” включить в свой проект и он с 95% вероятностью исполнится
include:
- project:
project_path: "voryabchevsky/aurora_ci"
ref: main
file:
- "publish.yml"
- "build_qt.yml"
stages:
- set_version
- build_qt
- sign
set_veriosn_test:
stage: set_version
variables:
GIT_STRATEGY: none
rules:
- if: $CI_COMMIT_TAG
extends: .set_verion
build_qt_aarch64:
stage: build_qt
variables:
ARCH: aarch64
extends: .build_qt_apptool
build_qt_armv7hl:
stage: build_qt
variables:
ARCH: armv7hl
extends: .build_qt_apptool
sign_apps:
stage: sign
extends: .sign_apps
TODO
- шаблон сборки через psdk
- затягивание репозитория
- подписывание ключами
- публикация в rustore
Описание
Набор шаблонов для сборки и публикации приложений для Аврора ОС