готовые сборки раскладывает. Может кто-нибудь поделится статейкой на эту тему?
1. Запускаешь swift build -c release на машине с такой же осью как на таргет машине 2. Забираешь Run(по названию executable таргета) бинарник программы из папки .build/Release 3. Кладешь бинарник на таргет машину и запускаешь руками потом через systemd По первому пункту поправьте если уже завезли компиляцию на маке под другую ось
Все так, но вот первый пункт обычно трудно выполним. Там же не только ось должна совпадать, но установленные зависимости системные, как то версия ssl и тому подобное.
Вот тут docker приходит на помощь
Поэтому либо берут докер, либо, наверное, клон машины на DigitalOcean
Вот поэтому проще и правильней компилировать на таргет-машине ;)
Ну вот у тебя сервис работающий, нагрузка на него приличная, а ты еще и решил компилить... ладно если инкрементально, но с нуля очень большая нагрузка идет
Не правильней, из моей практики обычно всегда компиляция была на отдельных машинах/машине где запущен условный гитхаб раннер, который все сбилдит и отправит в докер хаб. А потом другие уже тянули готовый образ
Если такая вводная, то можно сделать образ и поднять на пару десятков минут новый дроплет копию. Выражаясь языком DO.
Это верно, неверно было утверждать, что компилить прямо на таргет машине правильней)
Обсуждают сегодня