Size: a a a

2020 June 21

ŹR

Źmićer Rubinštejn in pro.elixir
Бред собачий это все. Никто в кастомном exs не будет играть с dependency injection и подобными вещами. Он нужен чтобы прописать connection string к базе, и проебаться там можно так же как и с env.

А если ты получаешь pull request где основной dev.exs не изменён, а изменён кастомный, причём тест и прод как раз таки изменены, и ты его принимаешь - то ты вы оба два лоха. Как тут можно запутаться - я не представляю.
источник

V

V in pro.elixir
Michael Kalygin
Что делать с микс тасками? Например, mix ecto.migrate. Не писать же для каждой команды враппер с загрузкой переменных среды.
Я в последнее время делаю так:
В проекте создаю папку my и в ней .gitignore с содержимым *
В неё кладу файл .env с содержимым вида
DATABASE_URL=postgresql://bla:bla@bla:bla/bla
SECRET_KEY_BASE=bla
В неё же кладу файл mix с содержимым
#!/usr/bin/env bash

set -euo pipefail

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
PROJECT_DIR="$( dirname "$SCRIPT_DIR" )"

# Load up .env
set -o allexport
[[ -f $SCRIPT_DIR/.env ]] && source $SCRIPT_DIR/.env
set +o allexport

cd $PROJECT_DIR

\mix $@
Потом в консоли делаю my/mix ecto.migrate, my/mix phx.server.
Для некоторых команд типа mix deps.get использую оригинальный mix.
источник

V

V in pro.elixir
Źmićer Rubinštejn
То есть с каким env он тестировал фичу ты знаешь?))
В том-то и дело, что нет
источник

V

V in pro.elixir
Źmićer Rubinštejn
Бред собачий это все. Никто в кастомном exs не будет играть с dependency injection и подобными вещами. Он нужен чтобы прописать connection string к базе, и проебаться там можно так же как и с env.

А если ты получаешь pull request где основной dev.exs не изменён, а изменён кастомный, причём тест и прод как раз таки изменены, и ты его принимаешь - то ты вы оба два лоха. Как тут можно запутаться - я не представляю.
> Никто в кастомном exs не будет играть с dependency injection и подобными вещами. Он нужен чтобы прописать connection string к базе, и проебаться там можно так же как и с env.

Если кастомный dev.exs нужен только для задания connection string к базе - то переменных окружения должно быть достаточно.
источник

V

V in pro.elixir
Michael Kalygin
Что делать с микс тасками? Например, mix ecto.migrate. Не писать же для каждой команды враппер с загрузкой переменных среды.
В докере - так там вообще можно задать свои переменные окружения при старте application-контейнера.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
V
> Никто в кастомном exs не будет играть с dependency injection и подобными вещами. Он нужен чтобы прописать connection string к базе, и проебаться там можно так же как и с env.

Если кастомный dev.exs нужен только для задания connection string к базе - то переменных окружения должно быть достаточно.
Их конечно достаточно, но зачем трахаться с башем - вот основной вопрос.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Зачем мне сидеть и разбираться, что у меня там в compile time, что у меня в runtime и какие мне из Application.get_env или System.compile_env правильно выбрать, если я могу спокойно на эликсире написать локальный конфиг.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
И не запускать потом две разные версии микса
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Которые в придачу могут не сработать, если мой фронтендер сидит на винде
источник

AM

Azat Murtazin in pro.elixir
Źmićer Rubinštejn
Которые в придачу могут не сработать, если мой фронтендер сидит на винде
Нужно отпиздить фронтендера и пересадить на линупс/мак
источник

BB

Boris Beginin in pro.elixir
Lama Lover
А я пишу gd в прекрасном и лучезарном coc.nvim
не ну я не хочу прыгать
источник

BB

Boris Beginin in pro.elixir
у меня собственно такаже работает)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Azat Murtazin
Нужно отпиздить фронтендера и пересадить на линупс/мак
Ну фронтендера я докучи приплёл, там скорее всего на винде и так и так не будет работать
источник

ŹR

Źmićer Rubinštejn in pro.elixir
С другой стороны самописные скрипты могут во всяких там oh_my_fish и не сработать
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Хотя баш вроде везде есть, но мало ли...
источник

AM

Azat Murtazin in pro.elixir
Źmićer Rubinštejn
С другой стороны самописные скрипты могут во всяких там oh_my_fish и не сработать
Можно ещё бизибокс тащить в репу
источник

V

V in pro.elixir
Źmićer Rubinštejn
Зачем мне сидеть и разбираться, что у меня там в compile time, что у меня в runtime и какие мне из Application.get_env или System.compile_env правильно выбрать, если я могу спокойно на эликсире написать локальный конфиг.
Затем, чтобы быть уверенным, что твой коллега Вася не нахуевертил в своей версии mix config. Потому что может оказаться что его фича запускается в только его окружении.
Я видел как Васи забывают часть изменений закоммитить, и в таком виде деплоят на прод. Потом спешно докоммичивают.
Я видел как Васи забывают, зачем нужны конфигурационные файлы, и начинают их плодить в избытке, говоря при этом "если у тебя на локалхосте не работает - подшамань конфигурацию".
источник

ŹR

Źmićer Rubinštejn in pro.elixir
V
Затем, чтобы быть уверенным, что твой коллега Вася не нахуевертил в своей версии mix config. Потому что может оказаться что его фича запускается в только его окружении.
Я видел как Васи забывают часть изменений закоммитить, и в таком виде деплоят на прод. Потом спешно докоммичивают.
Я видел как Васи забывают, зачем нужны конфигурационные файлы, и начинают их плодить в избытке, говоря при этом "если у тебя на локалхосте не работает - подшамань конфигурацию".
Если фича у Васи запускается только в его окружении, как тебе env то поможет?
источник

V

V in pro.elixir
Źmićer Rubinštejn
Если фича у Васи запускается только в его окружении, как тебе env то поможет?
env вместо dev.exs даст мне уверенность, что Вася не создал свою DI-конфигурацию
источник

ŹR

Źmićer Rubinštejn in pro.elixir
V
env вместо dev.exs даст мне уверенность, что Вася не создал свою DI-конфигурацию
Из того, что «Вася забыл часть изменений закоммитить и деплоит на прод» делаем вывод, что у вас ни CI, ни код ревью. А это значит, что Вася может сделать вообще все что угодно и как угодно протащить это в прод.
источник