README.md

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
Описание

Набор шаблонов для сборки и публикации приложений для Аврора ОС

Конвейеры
0 успешных
0 с ошибкой