Хочешь, чтобы Docker-образ автоматически собирался и отправлялся в Registry при каждом пуше?
GitLab CI
легко это позволяет, достаточно прописать .gitlab-ci.yml
и подключить Docker Runner
.В этом посте:
• Пишем Dockerfile с минимальным приложением.
• Создаём .gitlab-ci.yml, в котором билдим и пушим образ.
• Добавляем переменные окружения и настраиваем Registry.
• После пуша в main всё собирается и публикуется само.
Такой пайплайн сокращает время, устраняет ручные ошибки и делает деплой стабильным и воспроизводимым.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4🔥4
Функции — основа читаемых и масштабируемых скриптов. Они позволяют избегать дублирования, упрощают отладку и делают код структурированным.
В этом посте:
• Определяем простые функции и вызываем их.
• Передаём аргументы внутрь и обрабатываем их.
• Возвращаем значения и выстраиваем логику.
• Показываем реальные примеры с условиями и циклами.
Функции в Bash помогают оформлять повторяющиеся действия в один блок и использовать его где угодно. Это важный шаг к созданию надёжных и поддерживаемых скриптов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍4
Контейнеры сами себя обновляют!
Сегодня покажу, как с помощью
Забудь про ручной
Сначала запускаем
Теперь
Можно отслеживать все контейнеры сразу:
А чтобы не делать это каждую минуту — укажем интервал проверки через флаг --interval (в секундах):
🔥 Идеально подходит для dev-серверов, личных сервисов и продов с хорошими
➡️ DevOps Ready | #практика
Сегодня покажу, как с помощью
Watchtower
настроить автообновление Docker-контейнеров, если вышел новый образ.Забудь про ручной
pull
и restart
— всё будет работать само.Сначала запускаем
Watchtower
и указываем, какие контейнеры отслеживать:docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower my_container
Теперь
Watchtower
будет проверять my_container
и, если есть новая версия образа на Docker Hub — обновит его и перезапустит.Можно отслеживать все контейнеры сразу:
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
А чтобы не делать это каждую минуту — укажем интервал проверки через флаг --interval (в секундах):
--interval 3600 # проверка раз в час
🔥 Идеально подходит для dev-серверов, личных сервисов и продов с хорошими
healthchecks
.Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥6❤4🤝1
GitOps — это когда всё, что происходит в кластере, управляется через Git. Синхронизация, откаты и сборка манифестов становятся частью обычного git-репозитория и CI/CD. Команды вроде argocd sync, flux reconcile и kustomize build — это фундамент автоматизации.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍5❤1
Типичная проблема: после сборки у тебя в Docker-образе остаются
devDependencies
и мусор. Решаем это через двухстадийную сборку.В этом посте:
• Используем node:18 как окружение для установки зависимостей.
• Устанавливаем только прод-зависимости (--production).
• Финальный образ на node:18-slim — минимальный и чистый.
• Копируем только нужные файлы и запускаем server.js.
Результат — компактный продакшен-образ без мусора, меньше уязвимостей и быстрее деплой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍4🤝2