DEVOPSLIB Telegram 63
🔥 Как мы убили latency на CI в 3 раза

История из жизни.

Был у нас CI-пайплайн, который стабильно занимал 15-20 минут. И вроде всё нормально: тесты, линтеры, билд, деплой. Но скорость фидбэка — как у черепахи в отпуске.

📍 Что тормозило:

* docker build без кэша
* установка зависимостей из публичных реп
* линтеры и тесты гонялись в одном джобе
* каждый merge запускал фулл CI, даже если правка в README

📍 Что сделали:

1. Разделили джобы на линт, тесты и билд — теперь они гоняются параллельно.
2. Кэш на зависимости — pip/npm/go modules теперь качаются за секунды.
3. Docker layer caching — включили в GitLab CI, теперь билдит только изменённое.
4. Path filters — мелкие коммиты типа в документацию не гоняют все джобы.
5. Pre-commit hook'и — половина косяков ловится до пуша.

⚡️Результат: пайплайн стабильно укладывается в 5-7 минут. А когда просто фиксим орфографию — вообще ничего не запускается. Идеально.

Подпишись 👉@devopslib
👍2🔥2👀1



tgoop.com/devopslib/63
Create:
Last Update:

🔥 Как мы убили latency на CI в 3 раза

История из жизни.

Был у нас CI-пайплайн, который стабильно занимал 15-20 минут. И вроде всё нормально: тесты, линтеры, билд, деплой. Но скорость фидбэка — как у черепахи в отпуске.

📍 Что тормозило:

* docker build без кэша
* установка зависимостей из публичных реп
* линтеры и тесты гонялись в одном джобе
* каждый merge запускал фулл CI, даже если правка в README

📍 Что сделали:

1. Разделили джобы на линт, тесты и билд — теперь они гоняются параллельно.
2. Кэш на зависимости — pip/npm/go modules теперь качаются за секунды.
3. Docker layer caching — включили в GitLab CI, теперь билдит только изменённое.
4. Path filters — мелкие коммиты типа в документацию не гоняют все джобы.
5. Pre-commit hook'и — половина косяков ловится до пуша.

⚡️Результат: пайплайн стабильно укладывается в 5-7 минут. А когда просто фиксим орфографию — вообще ничего не запускается. Идеально.

Подпишись 👉@devopslib

BY Библиотека девопса | DevOps, SRE, Sysadmin


Share with your friend now:
tgoop.com/devopslib/63

View MORE
Open in Telegram


Telegram News

Date: |

The Channel name and bio must be no more than 255 characters long Invite up to 200 users from your contacts to join your channel The creator of the channel becomes its administrator by default. If you need help managing your channel, you can add more administrators from your subscriber base. You can provide each admin with limited or full rights to manage the channel. For example, you can allow an administrator to publish and edit content while withholding the right to add new subscribers. To upload a logo, click the Menu icon and select “Manage Channel.” In a new window, hit the Camera icon. Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link).
from us


Telegram Библиотека девопса | DevOps, SRE, Sysadmin
FROM American