Хочешь, чтобы 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
Например,
код 200
означает, что всё прошло успешно, а 404
сообщает, что страница не найдена.Очень полезно держать под рукой, когда работаешь с API или отлаживаешь backend.
На картинке показаны самые часто используемые статусы от 100 до 599.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥4👎1
GitLab CI/CD
позволяет запускать сборки и автотесты прямо при пуше в репозиторий. Один .gitlab-ci.yml
— и у тебя уже работает автоматический пайплайн.В этом посте:
• Описываем базовый пайплайн с этапами build, test, deploy.
• Используем переменные для хранения токенов.
• Добавляем условия запуска — например, деплой только из ветки main.
• Показываем, как настроить автотесты и реагировать на ошибки.
Это простой и мощный способ автоматизировать рутину и снизить риск ошибок при выкладке.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9🤝8👍4