Настройка обновления
Есть 2 способа публикации новых версий лаунчера:
generic
- Использование встроенного в лаунчсервер сервер релизовgithub
- Создаётся публичный репозиторий где в вкладкеReleases
будут храниться новые версии. Для опытных пользователейs3
- Облачное хранилище файлов. Для опытных пользователей
Для удобной компиляции лаунчера для разных ОС мы используем систему GitHub Actions
. Компиляция новой версии будет выполнятся при каждом изменении файлов в репозитории в ветке master
(настраивается в файлах деплоя), а публикация новой версии будет выполнятся когда в конфиге package.json
измениться значение version
.
Учтите что у вас по итогу настройки данного этапа должны получиться два репозитория. В одном приватном должен храниться код самого лаунчера, а в другом публичном только опубликованные Releases
и информация для игроков.
Настройка компиляции
Все настройки хранятся в файле package.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
скопируйте токен он нам понадобится для дальнейшей настройки.
Настройка выгрузки релизов
Переходим к репозиторию где у вас хранится Launcher и заходим во вкладку Settings
.
В столбце слева ищем Secrets and variables
и переходим в Actions
.
Создаём новый Секрет через кнопку New repository secret
.
Название у Секрета должно быть GH_TOKEN
а в поле Secret
токен который мы сгенерировали ранее.
После создание секрета его нужно прописать в файле деплоя, он находиться по пути /.github/workflows/release.yml
.
- 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
.