@docker_ru

Страница 946 из 1375
Maxim
30.12.2018
21:39:31
Наверное я ленивый и невнимательно читал древнюю документацию

Nikita
30.12.2018
21:40:38
Konstantin
30.12.2018
21:41:32
красава
Не стоит, я её не писал

Nikita
30.12.2018
21:43:19
Не стоит, я её не писал
ну и как енв файл крутить

Google
Maxim
30.12.2018
21:44:48
ну и как енв файл крутить
С помощью bash достаешь переменные из .env файла и мостыриш строчку для docker build, как пример

Konstantin
30.12.2018
21:45:43
ну и как енв файл крутить
Ты изначально за файл спрашивал или что ты редактировал?

Konstantin
30.12.2018
21:46:27
Как вариант выше или внутри через source

Александр
30.12.2018
21:47:30
Build args?

Nikita
30.12.2018
21:49:53
Build args?
и в колбасу 300 переменных?

Konstantin
30.12.2018
21:50:45
и в колбасу 300 переменных?
Ты понимаешь, что 10+ аргументов для билда - звоночек?

Оло, скорая? ?

Nikita
30.12.2018
21:51:18
Ты понимаешь, что 10+ аргументов для билда - звоночек?
ну это же пайтон код, переменные которого вынесены специально в енв файлы

не совсем сказал бы что для билда

George
30.12.2018
21:51:55
Пока обсуждаем, извините, какую-то хрень

Google
George
30.12.2018
21:52:29
Ни у кого проблем со сборкой джангы не возникает

Maxim
30.12.2018
21:52:40
Пока обсуждаем, извините, какую-то хрень
Игра называется "угадайте что я задумал"

George
30.12.2018
21:52:43
+
С новым аватаром ?

и в колбасу 300 переменных?
Ну, блин, сделай херь на баше, которая берет env и разворачивает в команду. Массивы осилишь ? Но это как крайняя мера

Александр
30.12.2018
21:53:30
По-моему, это не аргументы билда, а конфиг для сборки приложения. Его разве нельзя в файл положить?

Nikita
30.12.2018
21:53:52
Давайте конкретный кейс
вообщем, приложение мультистейдж билдом в нгикс хочу вытянуть статику —> python manage.py collectstatic --noinput https://docs.djangoproject.com/en/1.9/howto/static-files/ для этого нужно передать при запуске ему енв файл чтобы питончик прогнался и отдал все из себя статик вот так гуд?

George
30.12.2018
21:54:07
Georgiy
30.12.2018
21:54:33
то есть модульное ПО для вас это то что требует доработки ?

Nikita
30.12.2018
21:55:31
ну как бы для этого он же и предназначен

George
30.12.2018
21:56:31
ну как бы для этого он же и предназначен
Это костыль, который не нужен, при наличии Дженкинс, гитлаб си или любого нормального процесса

Nikita
30.12.2018
21:57:07
поподробней пожалуйста

George
30.12.2018
21:58:06
Ну, по существу вопроса. Если я правильно понял. Засунь все env'ы в файл в каталоге проекта, а в Dockerfile COPY его во временную папку и сделай ему source (команда для подсасывания переменных окружения из файла)

George
30.12.2018
21:58:56
поподробней пожалуйста
У тебя статические файлы == промежуточный артефакт. Логично разбить сборку на несколько стадий: сборка статики, сборка nginx, сборка uwsgi

George
30.12.2018
21:59:56
Named volume == удобно для разработки, не для деплоя в продакшн

Google
Nikita
30.12.2018
22:00:33
неа, сейчас обьясню, статика высасывается при старте приложухи и маутиться к нгиксу ?

Ну, так запеки файлы в образ с nginx
так что соурс единственно верное решение ? ?

George
30.12.2018
22:02:19
Ещё раз - кейс пока не точно описан. Но вариант с source имеет право на жизнь

Konstantin
30.12.2018
22:02:24
так что соурс единственно верное решение ? ?
А что не так с ним? Для этого и делалось

Nikita
30.12.2018
22:03:56
Ещё раз - кейс пока не точно описан. Но вариант с source имеет право на жизнь
сейчас кейс таков, поднимается джанга, выполняется “собиратель статики” который я указал выше и маунтиться к нгиксу, совсем не камельфо, согласитесь

Ещё раз - кейс пока не точно описан. Но вариант с source имеет право на жизнь
но я хочу это все дело утащить в мультистейдж в нгикс чтобы это все отдавалось при билде

George
30.12.2018
22:08:06
Проблема только в передаче параметров коллектору статики ?

George
30.12.2018
22:08:30
ага
Пример переменных аргументов есть ?

Я просто уверен, что фактически аргументы всегда одни и те же

Nikita
30.12.2018
22:09:20
Пример переменных аргументов есть ?
ну вообщем у него такая особенность что он должен полностю прогнать питоновский код со своими всеми переменными которые находяться в енв файле

George
30.12.2018
22:09:59
Хорошо. Сейчас как это реализуется?

Каким образом файл с настройками подцепляется ?

Nikita
30.12.2018
22:10:41
Хорошо. Сейчас как это реализуется?
когда котейнер поднимается ему подсосывается этот енв файл и он выдает в вольюм статику которая маутиться к нгиксу

George
30.12.2018
22:11:58
Сурси тогда )

Nikita
30.12.2018
22:12:21
Сурси тогда )
это все куб на это двигает ?

George
30.12.2018
22:13:38
Самое красивое решение

Google
George
30.12.2018
22:14:02
Ты строишь пайплайн через гитлаб си, в котором у тебя есть промежуточная стадия, которая собирает статику

Тогда по сути нет проблем с пробросом env

Мы так и сделали для части проектов. Насобирали всякие golang-builder, maven-builder. На входе - вольюм с исходниками. На выходе - вольюм с артефактами сборки и

И они уже передаются на следующую стадию, где им можно, например, просто COPY в целевой образ сделать

Nikita
30.12.2018
22:16:30
у нас дженкинс пайплайны, но не суть, типа первый стейдж просто в пайплайне подымать контейнер

Nikita
30.12.2018
22:17:29
а разве это ок в пайплайнах подымать контейнеры?

не замедлит время билдов?

Ну, примерно
наоборот активно уменьшаем его )

George
30.12.2018
22:19:48
не замедлит время билдов?
Не сильно. Зато плюс - чистота окружения и удобство сборки и обновления кодовой базы

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

И обновления среды, в случае, если пайтоновские модули обновились

Контейнеры в себя это все инкапсулируют, поэтому сборки всегда будут "чистые"

George
30.12.2018
22:40:51
Ага, только один нюанс. Тебе нужно все выполнять в одном шелле

Google
George
30.12.2018
22:41:01
Каждый новый RUN == новый шелл

Nikita
30.12.2018
22:45:14
Каждый новый RUN == новый шелл
неа, не подхватывает

George
30.12.2018
22:45:56
Потому что у тебя сурснулось только во вложенном баше

Придется так RUN /bin/bash -c 'source ./envfile && python blablabla’

Nikita
30.12.2018
22:49:22
Придется так RUN /bin/bash -c 'source ./envfile && python blablabla’
RUN /bin/bash -c 'source envfile' && \ /usr/src/app/docker-static.sh так и есть, но говорит вариаблы нету

Nikita
30.12.2018
22:53:38
Я по-другому написал
и так тоже нет

George
30.12.2018
22:54:26
Засунь в docker-static.sh

Короче, задача конечная и это самое главное

Nikita
30.12.2018
23:26:51
Короче, задача конечная и это самое главное
к слову только так поймал переменные export $(cut -d= -f1 envfile)

с соурс не ловил

George
30.12.2018
23:27:17
Формат может не совпал

Ты же не написал в каком виде у тебя env file

Их есть как минимум несколько типов

Nikita
30.12.2018
23:27:50
SOME_SHIT=ANOTHER_SHIT

вот так

George
30.12.2018
23:28:38
https://stackoverflow.com/a/30969768/698689

Ещё на это обрати внимание

Nikita
30.12.2018
23:36:11

Страница 946 из 1375