Skip to content

Настройка обновления

Есть 2 способа публикации новых версий лаунчера:

  • generic - Использование встроенного в лаунчсервер сервер релизов
  • github - Создаётся публичный репозиторий где в вкладке Releases будут храниться новые версии. Для опытных пользователей
  • s3 - Облачное хранилище файлов. Для опытных пользователей

Для удобной компиляции лаунчера для разных ОС мы используем систему GitHub Actions. Компиляция новой версии будет выполнятся при каждом изменении файлов в репозитории в ветке master (настраивается в файлах деплоя), а публикация новой версии будет выполнятся когда в конфиге package.json измениться значение version.

Учтите что у вас по итогу настройки данного этапа должны получиться два репозитория. В одном приватном должен храниться код самого лаунчера, а в другом публичном только опубликованные Releases и информация для игроков.

Настройка компиляции

Все настройки хранятся в файле package.json.
Он длинный так что рассмотрим самые интересные настройки:

json
"version": "0.0.4",
"build": {
  "appId": "ru.aurora.launcher",
  "productName": "Aurora Launcher",
  "publish": [
    {
      "provider": "github",
      "releaseType": "release",
      "owner": "JoCat",
      "repo": "LauncherPublic"
    },
    {
      "provider": "generic",
      "url": "http://127.0.0.1:1370/files/release",
      "channel": "latest"
    }
  ],
}
Описание настроек конфига
  • version - номер версии лаунчера
  • appId - идентификатор вашего лаунчера
  • productName - название вашего лаунчера
  • publish - куда будут публиковаться новые версии лаунчера
  • provider - тип публикации обновлений
  • releaseType - какой вид имеет релиз
  • owner - владелец репозитория в котором будет опубликован релиз
  • repo - название публичного репозитория
  • url - адрес по которому лежат готовые версии лаунчера на лаунсервере
  • channel - как называть файлы содержащие информацию о релизе

Выпускаем токен для репозитория

Для того чтобы у компилятора был доступ к публичному репозиторию нужно создать токен доступа в вашем аккаунте GitHub.
Переходим в Настройки аккаунта и нажимаем кнопку Generate new token.
В поле Token name вводим любое имя токена.
В списке Expiration выбираем сколько времени будет действовать токен (Максимальное время 1 год).
В Repository access выбираем Only select repositories и выбираем ваш Публичный репозиторий.
В Repository permissions ищем разрешение Contents и даём доступ Read and write.
После нажатия Generate token скопируйте токен он нам понадобится для дальнейшей настройки.

2.png

Настройка выгрузки релизов

Переходим к репозиторию где у вас хранится Launcher и заходим во вкладку Settings.
В столбце слева ищем Secrets and variables и переходим в Actions.
Создаём новый Секрет через кнопку New repository secret.
Название у Секрета должно быть GH_TOKEN а в поле Secret токен который мы сгенерировали ранее.

3.png

После создание секрета его нужно прописать в файле деплоя, он находиться по пути /.github/workflows/release.yml.

yaml
      - name: Pack and publish Launcher
        run: npm run release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

Настройка выгрузки релизов для версии 0.0.5 и выше

Для корректной выгрузки релизов у вас уже должен лежать public.pem в репозитории и указан адрес лаунчсервера в config.ts. Первый в списке publish должен быть provider generic.