Comments 4
Спасибо за статью. Пару вопросов.
Насколько окружение для iOS сборки получается изолированным при таком подходе? Возможно ли запускать несколько пайплайнов параллельно, будут ли устанавливать зависимости в одни и те же глобальные директории (npm-модули, gems, pods) ?
Насколько окружение для iOS сборки получается изолированным при таком подходе?
Полной изоляции на одной физической машине в режиме «shell» тяжело достичь, при таком подходе параллельные процессы просто стараются не пересекаться. В следующей части я покажу исходный код .gitlab-ci.yaml, который очень гибко с этим работает.
К слову, если говорить о полной изоляции, то эту проблему можно решить в Lume, создав под каждый проект свою VM, в которой будет настроен свой Gitlab Runner в режиме «shell».
Возможно ли запускать несколько пайплайнов параллельно, будут ли устанавливать зависимости в одни и те же глобальные директории (npm-модули, gems, pods) ?
Да, можно запускать пайплайны параллельно, зависимости устанавливаются в глобальные директории, с этим проблем не возникает. Единственное узкое место вижу только в FVM, если параллельно будут устанавливаться две одинаковые версии Flutter в одну глобальную директорию, но только при условии, что ранее эта версия не была загружена.
Благодарю за ответ! И буду ждать следующей части.
Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1