Alexander
Всем привет.
Ребят, подскажите. Есть микросервисная архитектура, состоящая, допустим, из 15 микросервисов. Для них настроен CI процесс с использовать docker compose, чтобы поднимать необходимый кластер зависимых компонентов для функционального и интеграционного тестирования. Но не используя оркестратор, можно ли как-то автоматизировать CD процесс для деплоем Docker-контейнеров? А то создавать один docker compose файлик для всех микросервисов и вручную писать команды - не кайф
George
George
ты можешь в гитлаб-раннере писать ‘ssh blablabla@myhost.com docker run -d blablabla’
George
но вряд ли это то, к чему ты стремишься
Alexander
Явно не то, да
George
самое мерзкое - это кластер зависимых компонентов, если обязателен порядок их запуска. Тут ты прилипаешь, причем весьма серьезно
Alexander
George
я выше по ветке рассказывал как в докер-компоузе на хелсчеках можно собрать порядок запуска (практически любой), но это костыли
George
в общем, скорее всего тебе нужно все-таки взять какой-нибудь ансибл и декларативно описать процедуру тестирования
George
и выкатки
Alexander
Ansible у меня отвечает за генерацию шаблонов сейчас
Alexander
Понимаю, что он как бы не только configuration management нынче, но думал может ещё есть варианты)
George
ну, вообще отличная история - значит он есть и несложно его адаптировать под задачу
Alexander
Значит всё верно думал
George
ну, а какие еще видишь пути, если не ехать в кубернетес сразу?
Alexander
Больше и не вижу
Alexander
А то некрасиво это в пайплайне так писать. Или мне кажется и это норма?)
George
George
для этого в гитлаб-си можно либо использовать services, либо все равно жахнуть docker run -d ….., а потом docker run -it npm test или типа того
George
между степами среда уничтожается, так что о чем речь?
George
https://docs.gitlab.com/ee/ci/examples/
Alexander
Alexander
Про окружение знаю)
Alexander
А я всё ещё Jenkins юзаю
George
не самый плохой вариант
Alexander
В GitLab CI просто нет из-под капота некоторых вещей, которые реализуются с помощью плагинов в Jenkins. Да, их можно настроить с помощью внешних компонентов, на что надо будет потратить время, но удобство всё равно несколько выше у Jenkins.
В общем, тут зависит от такого, какие задачи надо кому покрыть
Alexander
Это лишь моё мнение. Могу ошибаться
Alexander
Хотя, реализовать тренды для нескольких статических анализаторов и представить их в человеческом виде через GitLab CI в принципе не получится...
Alexander
не самый плохой вариант
Ещё один вопросик, если можно: если для интеграционного тестирования необходимо поднять кластер зависимых компонентов и микросервис, в котором есть миграции и дамп, который нужно накатить. Как быть с дампом? Как его накатить, если он запрашивает пароль к БД? Вот насчёт этого я решения не придумал...
Rom
Народ, как удалить latest??
Rom
Rom
как только удаляю, сразу появляются
George
George
мы выкладывали результаты прогонов в pages. Но никто не мешает грузить в конфлюенс
George
George
услвоно образ на 10ГиБ
George
Alexander
George
George
в реджистри
Alexander
А, прямо так...
Alexander
Ну это самое первое, что мне пришло в голову
Alexander
Но тоже думал норма такое делать или нет
Alexander
Спасибо за ответы!
Rom
есть какой-нибудь простой сиай от мозгоебства?
George
Rom
в каком плане?
я делаю у дрона так, а он мне говорил что 80 and 443 уже юзатся
Rom
создает образ и не запускает его
Rom
а у кого не спрошу, никто дроном не пользуется
George
George
и еще действительно на хостовой машине могут быть этти порты заняты
Rom
George
—network=host
George
или как-то так
Rom
а тю
Rom
George
Rom
Dima
В чем может бытьь проблема? Создал volume, когда делаю docker build... то если папка volume не пустая - вываливается ошибка *container_linux.go:247: starting container process caused "chdir to cwd...*, если папку очистить - все ок
Pavel
Ребята помогите
Хочу использовать Debian-slim
но там пакеты не устанавливаются
в частности postgresql-client
Что не так?
Pavel
выяснилось там тупо оказывается не работает
update-alternatives
т.к. использует папки
/usr/share/man/man1-8
которых нет в SLIM я так понял
Ильдар
Ильдар
Ильдар
Jürgen
Мммм интересно, а когда перестанут юзать лейтест 😨
Andrey
Andrey
в одном из известных мне продуктов слово force заменили на please в rest api. Чтобы гарантированно удалить объект, нужно было вызывать что-то вроде http://host/delete/obj/123/please
Andrey
Этого не было в документации по апи, и когда клиенты спрашивали, как им "в вашем говно продукте" с форсом что-то удалить, забавно было отвечать, что надо просить с please :)
Jürgen
Zhandos
Всем привет, есть приложение №1 + приложение№2, оба соединены в сеть приложения№1, У приложения №1 есть nginx который смотрит 8080 и делает из него expose:
- "80"
environment:
- "DOMAIN_NAME=${DOMAIN_NAME}"
- "PROXY_PASS=http://app:8080"
У приложения №2 нету nginx, expose у него тоже 8080. и сервис тоже называется app, пытался менять, не сработало
ПРОБЛЕМА::: когда набираешь домен приложения№1, он то показывает приложение №2, то приложение№1
Может кто поможет с советом, спасибо
Anonymous
Привет. У меня происходит какая-то магия. Контейнер останавливается среди ночи и не поднимается. При этом я не нахожу его в списке контейнеров через docker ps --filter "status=exited" что смотреть?
Ильдар