Comments 4
Весьма топорная конфигурация:
- Мешанину в скриптах следует разделить на job'ы в gitlab-ci. Деплой уж точно следует вынести в отдельные задачи.
- Ключи (и проч.) надо хранить в Gitlab Secret variables.
- Уведомления можно отправлять через Web Hooks (для Slack уже есть готовый).
- Не используется кеширование (вероятно, оно может решить проблемы с ассетами).
По поводу версии Unity: с одной стороны это — зависимость и должна устанавливаться вместе с другими зависимостями (например в before_script), кеширование в помощь. С другой стороны — слишком тяжёлая и основополагающая зависимость, я бы скорее делал через docker, привязав образ к версии Unity.
0
- Да, согласен, что можно разбить эти скрипты на отдельные job-ы. Тут я скорее описал подход и основные шаги.
- Ключи в переменных хранить не получится, у нас под каждый аккаунт есть свой keystore-файл. Можно задавать alias/password через variables, но не сам файл.
- Про webhooks в slack не знал, спасибо. Но их нужно настраивать под каждый проект. Сейчас для нотификаций по сути выполняется одна команда — curl на hooks.slack.com.
- А что имеется ввиду под кешированием? Использовать cache server или какие-то сторонние решения?
- Идея с docker образами для разных версий Unity кажется удобной, попробую реализовать.
Конфигурация не слишком гибкая, но тут не используется никаких зависимостей, и разработчики не видят лишнего в gitlab-ci. Но для упрощения поддержки попробую разбить на модули (можно как минимум разбить один скрипт на несколько) и использовать docker, спасибо.
0
Идея с docker образами для разных версий Unity кажется удобной, попробую реализовать.
Скорее всего, столкнетесь с необходимостью активировать юнити внтури докер образа. Если столкнетесь, то вот тут habr.com/post/335980 я писал, как это сделать.
0
Механизм кеширования встроен в раннер, настраивается довольно гибко: https://docs.gitlab.com/ee/ci/caching/
0
Sign up to leave a comment.
Автоматическая сборка Unity-проектов для Android и iOS с помощью Gitlab CI