Комментарии 5
Скачивать последние изменения с GIT репозитория
И где все это? :)
Про options.plist — TeamId не нужен, он берется из архива, а вот
<key>compileBitcode</key> <false/>
сильно ускоряет подпись для dev-билдов.
Еще бы неплохо указать, что для сборки все-равно потребуется macos с xcode и установленными cli tools, а так же sshpass (через homebrew) если на sftp используются не ключи, а доступ по паролю.
Если используются нейтивные сдк, которые напрямую лезут к java и прочим штукам — скачиваемый jdk через unityhub не подойдет, т.к не прописаны в $PATH. Решение — прописывать их в $PATH перед запуском, либо поставить отдельно openjdk через homebrew. Второй способ удобнее, т.к юнити можно обновлять без проблем, а системный jdk останется и сам будет прописан в переменные окружения.
Ну всё, понеслась… Я уже понял, у твоего велосипеда на 2 скорости больше)
Канешн, выбор бранча через через чат-бота (т.е можно прямо через него запрашивать билд нужного проекта с нужного бранча), автопрошивка хеша коммита с версией в сам билд и т.д и т.п :)
Реализация через gitlab-runner неудобна тем, что фиче-бранчей может быть много и надо мочь собирать каждую из них отдельно — приходится их мерджить в билд-бранч, либо вешать теги, что очень не удобно. Поэтому вот такой автобилд по запросу оказался довольно удобным решением.
или настроить один дополнительный конвеер на все ветки, но с ручным запуском. тогда в коммите можно нажать кнопку и сбилдить. Либо автоматическом но первым условием сделать проверку какого нибудь флага)
Последние два варианта правда будут засорят список работ в соответствующем разделе.
А, ну и запускать ci можно через api, по кнопочке где нибудь. У нас в тележке кнопка.
ну в результате все-равно либо чистить руками, либо запускать руками. Дополнительный конвейер — теряется имя ветки-источника билда, сейчас в билд вшивается хеш коммита и имя ветки — удобно. Бот висит в группе и реагирует на команду в виде
/build имя-проекта имя-ветки
например
/build supergame feature/new-ui
В ту же группу сообщает о пройденных стадиях (скачивание репа, билд юнити, билд xcode, подпись, закачка на хостинг) и конечные линки для скачивания.
Свой CI/CD для Unity