Рубрика «pipeline»

С чего начать разбираться в этом всём

Когда я впервые увидел .gitlab-ci.yml, мне показалось, что это какой-то древний магический свиток. Сплошные stages, artifacts, непонятные правила... Но на самом деле всё гораздо проще — это просто рецепт: что, в каком порядке и как делать с твоим кодом.

Давайте разберём мой рабочий пайплайн по косточкам. Не как сухую документацию, а как реальный пример, который живёт у меня GitLab.

Что такое workflow и зачем он нужен

Это как швейцар у подъезда — решает, пускать ли пайплайн на работу. У меня настроено строго:

Читать полностью »

При проектировании инфраструктуры часто возникает задача поднять кластер «с чистого листа». Безусловно, Terraform и Ansible — это стандарт индустрии. Однако мне нужен был процесс быстрого получения готового кластера K8s, полностью независимый от локального окружения, чтобы запуск не требовал предварительной подготовки версий библиотек, интерпретаторов или наличия локальных файлов конфигурации.

В этой реализации я намеренно упростил работу с конфигурацией: параметры виртуальных машин (CPU, RAM, диски) описаны прямо в коде (см. config.goЧитать полностью »

Привет! Я Георгий Новожилов, инженер данных в «ДАР» (ГК «КОРУС Консалтинг»). В моём стеке и стеке моих коллег Airflow, можно сказать, незаменим.

Он помогает нам планировать, запускать и отслеживать сотни задач обработки данных, которые крутятся в кластере каждый день: загрузки из источников, трансформации, пересчёты и обновления витрин. Пайплайны визуально контролируются из удобного веб‑интерфейса, в котором можно легко и быстро локализовать сбои. Для инженеров данных Airflow — надёжный инструмент автоматизации всей ETL‑ и ELT‑инфраструктуры.

Читать полностью »
Конвейеризация: универсальный способ повышения пропускной способности - 1

Что общего между стиральной машиной, CPU и микросервисами? Все они выигрывают от «конвейеризации» (англ. pipelining).

Читать полностью »

Запуск I2S Трансивера на Artery [часть 2] (DMA, FSM, PipeLine) - 1

Пролог

В этом тексте вы узнаете, что общего между I2S трансивером и оладьями. Да... Именно так. Зачем программисту микроконтроллеров конвейеры и цифровые фильтры.

В этом тексте изложено как источать звук при помощи I2S DMA.

В чём проблема?

В прошлом текстеЧитать полностью »

Как часто вам приходилось видеть что-то подобное в коде?

const result = fnD(fnC(fnB(fnA(...))));
                   

Чтобы получить результат, нужно последовательно выполнить каждую функцию, начиная с самой внутренней. Это требует визуального "разворачивания" функций, что усложняет понимание логики кода. Когда мы сталкиваемся с таким кодом, то сразу осознаем, что его чтение и поддержка могут стать настоящим испытанием.

Читать полностью »

Экспорт Google Forms + загрузка Google Script через REST API (Python) - 1

У нас было две гугл-формы, 75 вопросов в каждой, 5 бизнес-пользователей, которые активно правили эти формы, а еще гугл-скрипт, экспортирующий форму в JSON. Не то что бы его было сложно каждый раз запускать руками, но раз начал автоматизировать свою работу, то иди в этом увлечении до конца.

В официальной документации сам черт ногу сломит, поэтому под катом мы подробно рассмотрим удаленную загрузку и запуск Google Apps Script через REST API, используя Python.
Читать полностью »

Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок - 1

Всем привет, на связи Александр Панов, техлид из Pixonic. В компании я отвечаю за межпроектные решения и околопроектную периферию и сегодня хочу поделиться своим опытом и наработками.

Платформы непрерывной разработки и интеграции, или CI/CD, сейчас используются повсеместно в тех отраслях, где решающую роль играет итеративность и отлаженность технических процессов. В этой статье речь пойдёт о CI/CD для реализации наших Unity-проектов для мобильной геймдев-разработки: с какими проблемами мы столкнулись, как их удалось решить, каких улучшений мы добились и как прописан наш пайплайн сборок билдов.

Сразу договоримся, что в качестве сервера CI мы используем TeamCity от JetBrains, в качестве хранилища Git-репозиториев ― GitHub, для хранения артефактов сборки ― Nexus.
Читать полностью »

В данной статье я коснусь вопроса порога входа в проект с устоявшейся архитектурой и дам несколько вариантов ответа на очень часто возникающий вопрос: почему так сложно?

Такой вопрос частенько возникает у новичков, которые приходят на проект. Или же бывают ситуации, когда проект уходит на поддержку и развитие в новые руки, и у нового разработчика также появляется этот вопрос. И редко кто из них пытается разобраться в реальных причинах, почему здесь так, а не иначе. Это может привести к печальным последствиям для бизнеса, например, новый разработчик может настоять на том, чтобы переписать все приложение с нуля.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js