Pull to refresh

Comments 4

Спасибо за статью. Пару вопросов.
Насколько окружение для iOS сборки получается изолированным при таком подходе? Возможно ли запускать несколько пайплайнов параллельно, будут ли устанавливать зависимости в одни и те же глобальные директории (npm-модули, gems, pods) ?

Насколько окружение для iOS сборки получается изолированным при таком подходе?

Полной изоляции на одной физической машине в режиме «shell» тяжело достичь, при таком подходе параллельные процессы просто стараются не пересекаться. В следующей части я покажу исходный код .gitlab-ci.yaml, который очень гибко с этим работает.

К слову, если говорить о полной изоляции, то эту проблему можно решить в Lume, создав под каждый проект свою VM, в которой будет настроен свой Gitlab Runner в режиме «shell».

Возможно ли запускать несколько пайплайнов параллельно, будут ли устанавливать зависимости в одни и те же глобальные директории (npm-модули, gems, pods) ?

Да, можно запускать пайплайны параллельно, зависимости устанавливаются в глобальные директории, с этим проблем не возникает. Единственное узкое место вижу только в FVM, если параллельно будут устанавливаться две одинаковые версии Flutter в одну глобальную директорию, но только при условии, что ранее эта версия не была загружена.

Благодарю за ответ! И буду ждать следующей части.

На счет зависимостей. У нас используется похожий подход, только с Github. С npm модулями проблем не возникает. А вот с gems и pods периодически возникает. Особенно если используется одна версия Ruby. Приходится вручную глобальные директории подчищать.

Sign up to leave a comment.

Articles