170 похожих чатов

Коллеги, всем привет! Обращаюсь к вам за советом. Как у вас настроен

деплой сервисов и их настроек на сервера?

У нас сложилась такая ситуация, что написаны некоторые sh скрипты, которые ходят читать конфиги (кастомные), парсят их и оттуда получают версии контейнеров, которые нужно поднять. Мне как разработчику, чтобы замапить новый файл в докер , нужно сходить к OPS и попросить это вкорячить в эти скрипты. Скрипты просто вызывают docker run и пропихивают туда кучу параметров, типа волюмов, переменных и т.д.
Получается что я за..ался ходить просить их править скрипты, т.к доступа к ним у меня нет.
У меня дикое чувство злости от этого всего.
+ ко всему это говно скриптовое постоянно отъезжает из-за ошибок или недопонимания как этим пользоваться

Локально я использую docker-compose и горя не знаю. Все быстро и удобно.

Как вы работаете со своими конфигами, версионностью на разных стендах? Как деплоите скрипты?

P.S. облачные решения не подходят, т.к. серваки клиентов часто стоят в закрытых контурах без доступа в интернет.

18 ответов

28 просмотров

Конфиги всех сервисов кладёшь в репу, делаешь автодеплой сервиса на мерже в эту репу.

Что значит: замапить новый файл в докер? И почему это нужно делать часто?

Sergii
конфиги разные

Если вы поставляете докер образы, почему не положить все конфиги в сам контейнер во время билда?

Sergii- Автор вопроса
Ilya Chernoudov
Если вы поставляете докер образы, почему не положи...

У нас продукт. Сервис может работать у десятков клиентов но с разными конфигами

Sergii
У нас продукт. Сервис может работать у десятков кл...

Ну если так, то наверное это хорошо, что клиентской конфигурацией заведуешь не ты?

Sergii- Автор вопроса

Это философия, верно? Я попросил поделиться вариантами деплоя

Sergii
Это философия, верно? Я попросил поделиться вариан...

Это обычная схема, обычно у девелоперов нет доступа на площадки и конфигурирование этих площадок лежит на имплементаторах или в вашем случае девопсах

Sergii- Автор вопроса
Ilya Chernoudov
Это обычная схема, обычно у девелоперов нет доступ...

Да я не против. Но когда это самописные велосипеды, то фиг пойми что где поехало и почему. Вопрос в том - что есть типа докер компоса?

Sergii
Да я не против. Но когда это самописные велосипеды...

Мы используем октопус, но нужно ставить агенты, а в твоём случае это затруднительно

Ilya Chernoudov
Мы используем октопус, но нужно ставить агенты, а ...

И октопус представляет ui для деплоймента и конфигурации

Sergii
Да я не против. Но когда это самописные велосипеды...

Докер или не докер здесь не причём. Если конфигурация динамическая тебе равно надо что то переопределять, в вашем случае это делают скрипты, потому что это максимально портабельно между энвайронментами

У меня много разных сценариев деплоймента; на современных проектах я чаще всего просто всё пакую в Докер контейнер и пушу его когда захочу (на CI), а дальше оно разными путями доезжает до продакшена. Если часто надо шатать конфиг — это путь вникуда, так не должно быть. Сделайте чтоб не нужно было часто.

Sergii- Автор вопроса
Dr. Friedrich von Never
У меня много разных сценариев деплоймента; на совр...

Ну так продукт работает. Мы не можем себе позволить под каждого клиента свой форк делать - это тоже путь в никуда)))

Sergii- Автор вопроса
Dr. Friedrich von Never
Дак ну не делайте. Зачем форк?

Ну ок. Я сделал фичу. Но она нужна не на всех проектах. Что мне зашить в докер? true или false?

Sergii
Ну ок. Я сделал фичу. Но она нужна не на всех прое...

Feature toggle сделай по паттерну. У аспнеткора была специальная либа, которая умеет централизованную конфигурацию этих тоглов и всякие вкусности.

То, что ты описал, это вопрос open-closed и dependency inversion. Тебе нужно сделать так, чтобы звали твой опциональный скрипт, и передавали тебе свой скрипт в виде лямбды для продолжения. Что то вроде паттерна с next в middleware от aspnet. Вместо лямбды можно передавать команду, которую ты выполнишь в sh, например.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта