Каждый день многие из нас неоднократно запускают эту команду в терминале или нажимают на заветную кнопочку в своей любимой среде разработки. Сборка – это тот процесс, который превращает сырые исходники и ресурсы в приложения и сервисы, которые можно предоставить пользователям. Возрастающая сложность приложений ведет к тому, что процесс сборки пропорционально усложняется, и нам нужны специальные инструменты, чтобы решать эту задачу. Именно об этих инструментах, а именно о build-системах, мы поговорим в этом выпуске с Артёмом Зиннатуллиным из компании Lyft.
Артём Зиннатуллин
Lyft
Артем Зиннатуллин разрабатывает и поддерживает мобильную инфраструктуру в Lyft: системы сборки, тулинг, инфраструктурный бэкенд, Kubernetes, архитектура, библиотеки.
Стало интересно? Послушайте весь выпуск!
SoundCloud
Apple Podcasts
Содержание 00:00:45 – Знакомство с гостем 00:07:32 – История развития build-систем 00:12:52 – Ant и Maven 00:17:03 – Про зависимость по исходникам 00:18:50 – Gradle 00:24:40 – Про узкоспециализированные build-системы 00:29:13 – Что должна уметь современная build-система 00:29:41 – Инкрементальная сборка 00:31:38 – Remote cache 00:36:51 – Параллельность сборки 00:37:43 – Мониторинг файловой системы 00:39:39 – Запуск тестов 00:40:57 – Build-система Xcode 00:42:31 – Язык описание конфигурации 00:47:56 – ABI extraction 00:54:54 – Использование неблокирующих API операционной системы 00:56:41 – Remote execution 01:07:20 – Bazel и Buck 01:13:47 – Как устроены билды в Lyft 01:20:58 – Как выбрать build-систему 01:26:08 – Модуляризация 01:28:53 – Какие скиллы нужны build-инженеру 01:44:05 – Подведение черты 01:45:38 – Вопрос Стасу
Полезные ссылки Gradle – https://gradle.org/ Buck – http://buckbuild.com/ Bazel – https://bazel.build/ Skylark – https://docs.bazel.build/versions/master/skylark/language.html ABI – https://en.wikipedia.org/wiki/Application_binary_interface API – https://en.wikipedia.org/wiki/Application_programming_interface Mainframer – https://github.com/buildfoundation/mainframer Twitter Артёма – http://twitter.com/artem_zin Книга Google – Site Reliability Engineering – https://landing.google.com/sre/books/