George
насчет файлбита - там с журналди вроде есть нюансы, но флюент гребет
Ильдар
Очень не-конкретный вопрос )
Mikalai
Ильдар
Можешь имя ветки использовать
CI_COMMIT_REF_SLUG
George
нет
George
не совсем
George
смотрите
Ильдар
Можешь ничего не использовать, можешь захардкодить.
George
в гитлабе есть херня
George
в тег попадает ЛИБО тег, ЛИБО бранч
George
что было при пуше
George
соответственно, если ты пушишь и тег, и бранч, то начнется два пайплайна
George
с одинаковым gitlab sha commit
George
как бы не комильфо
George
решение какое
Ильдар
Найс
George
определять что в тебя вдули. сделать разбивку only: tags или only: branch
George
ну, или git describe юзай
George
хотя там есть нюансы тоже, т.к. репа в детачед режиме (везде проблемы, блять)
Ильдар
Можешь хэш комита использовать. @hobo_with_a_hookah что тебе больше нравится
George
нет. хэш коммита это верный путь. Он должен быть. Но хочется еще иметь возможность образ перетегировать на бранч или на тег, если он есть
George
_CI_COMMIT_SHA := $(shell git symbolic-ref --short HEAD | sed "s/\//_/g")
George
вот примерно так можно sha вытащить. Аналогично тащится тег и бранч
George
а в рамках gitlab ci, кстати, еcть "${CI_COMMIT_TAG}»
George
по-моему, я всех напугал
Anton 🐻
привет, подскажите, multi-stage builds норм практика? видел на просторах инета заметку что таким способом можно и все имаджи запихнуть в 1 Dockerfile, а в docker-compose.yml нужные таргеты указывать
Anton 🐻
https://blog.andreiavram.ro/docker-multi-stage-builds-docker-compose/
Anton 🐻
или зашквар?
Yan
тут ты прав)
за ответы спасибо, хотел еще узнать, CI_JOB_ID там какой-то рандомный номер от гитлаба дает, или он все-таки идет по порядку?
George
George
George
вот он уникален и монотонен в рамках проекта. Типа билд номера.
George
если используешь PIPELINE_ID (без второй I), то у тебя это глобальный айди в пределах инстанса гитлаба
Mikalai
George
я бы сильно на оба не рассчитывал, т.к. если ты переливаешь гитлаб часто, то они могут обнуляться ) такое себе
George
либо нужно экспортить - импортить проекты с метаданными
George
(они там хранятся)
George
либо вообще собирать мейкфайлом )))))
Yan
ладно, оставлю тогда пока коммит_ша до лучшего варианта
George
Yan
нашел, кстати, такой вариант, может пригодится кому
Yan
https://stackoverflow.com/questions/46810829/use-semver-or-a-timestamp-in-gitlab-piplelines
Ваня
Привет. Есть 2 контейнера, nginx и php-fpm с laravel, так вот, запрос к api 350мс, это норм? Неужели такой overhead? Или где-то не докрутил конфиг?
Anton 🐻
как правило там только инициализация ядра 40мс
Ильдар
Ваня
Ильдар
На нормальной ОС быстрее?
Ильдар
https://github.com/docker/for-win/issues/1936#issuecomment-444323220
Rus
Всем привет, подскажите плиз в docker-compose.yml в чем будет отличие когда я объявляю volumes: в самом начале от того когда я это не делаю и просто прописываю volumes : и пишу дальше путь проброса с локального каталога во внутрь контейнера
Ваня
На нормальной ОС быстрее?
Нет возможности проверить) Интересно то, что у меня еще есть контейнер с webpack hmr, так он файлы измененные на хосте пересобирает в контейнере чуть медленнее, чем если бы я это делал вообще без докера. Т.е. это какбы намекает, что с томами все норм, или нет?))
Ильдар
Anton 🐻
ну я больше про то что в 1 файл пихают и образы nginx и go и php и т.п.
Anton 🐻
чтоб кучу файликов не солздавать или папкам их не распихивать
Mikalai
Mikalai
Ильдар
Ильдар
ilya
Mikalai
ilya
COPY --from=your.registry.com/something/builder:latest / /
Mikalai
Это не кэш, это костыль же)
ilya
это крутая штука для переиспользования, если у тебя большая инфра и много разных реджистри
Ильдар
А есть нормальный способ шарить кэш докера между ранерами?
Mikalai
Mikalai
Ой
Mikalai
docker pull конечно же
Mikalai
Спать пора 🤦♂
Ильдар
:)
Anton 🐻
Ксть ещё странный вопрос. Примерно такая структура директорий:
docker-compose.yml
docker-compose.dev.yml
docker-compose.prod.yml
images/nginx/Dockerfile
images/go/Dockerfile
images/php/Dockerfile
app/*
в Dockerfile кратко такое содержание:
FROM composer:1.6.5 as vendor
ADD ./app/composer.lock composer.lock
RUN composer install
но это не срабатывает, т.к. файл ./app/composer.lock находится в выше по дереву директорий чем директория в которой собирается образ. Как лучше организовать подобное?
Anton 🐻
как вариант плохого решения - все образы слить в один большой Dockerfile и положить его в корень.
Ильдар
George
Alexander
Привет. Есть два сайта в одном докере и мне нужно слать запрос с одного сайта на второй и непонятно по какому адресу слать запрос т.к. запрос инициируется изнутри докера
KoBa4oG
Aleksey
привет коллеги! как с PyCharm локальную композицию подружить? Нужно как-то удалённый интерпритатор настроить, вот не пойму как именно на ubuntu
Aleksey