Sergey
05.06.2018
13:31:04
можно в другой
или слово репа это глобально
прям другой гитлаб сервер
Alexander
05.06.2018
13:33:43
можно в другой
Я понимаю что можно в другой. Хотел узнать как принято хранить)
Google
Artem
05.06.2018
13:33:48
Sergey
05.06.2018
13:35:44
и чего
Artem
05.06.2018
13:38:51
ибо впихнули какую то веб версию вмазанную под декстопное приложение, она сожрала весь хтмл) видимо приняла его за инъекции
Maxym
05.06.2018
13:40:13
Electron же.
Vladimir
05.06.2018
13:41:10
Stanislav
05.06.2018
13:41:40
Ivan
05.06.2018
13:52:29
О, раз пошла такая жара про gitlab + docker у меня тоже есть вопрос:
У нас есть репо в которой хранятся докерфайлы и они автоматически собираются и пушаться в гитлабовский registry с помощью bash скрипта.
Он их называет в соответствии с названием директории в которой находится докерфайл.
Есть ли какой-то способ сделать это более пристойным?
Ибо сейчас при любом пуше в репо скрипт полностью проверяет и пересобирает все контейнеры, которые по его мнению изменились.
No1
05.06.2018
13:56:55
чем они собираются?
packer?
или gitlab свою магию напилил?
Ivan
05.06.2018
13:58:27
чем они собираются?
в gitlab ci yaml вызывается bash скрипт, который лежит там же в репо, а там штатные docker build, docker push и т.п.
Dima
05.06.2018
13:58:27
Лучше разделить на разные проекты)
Google
Dima
05.06.2018
14:02:09
Ребята, как в haproxy сделать blacklist?
Artem
05.06.2018
14:03:55
iptables ?
Эдуард
05.06.2018
14:04:03
Dima
05.06.2018
14:04:27
Ivan
05.06.2018
14:06:01
Лучше разделить на разные проекты)
Думал об этом, возможно правильно, единственное что напрягает это разрастание количества проектов. Один проект со всеми докерами для сборок проще обслуживать, но в целом надо бы наверное - будет ребилд только того что нужно.
Но меня интересует вопрос такой - есть ли в гитлабе какой-нибудь шаблон и решение для автосборки и публикации своих образов в стиле best practice, ибо я уверен что далеко не первый кто сталкивается с этой проблемой
Stanislav
05.06.2018
14:10:40
По факту же имя директории это такой же хардкод
А еще лучше вынести нахер башскрипты из файлов в .gitlab-ci.yml, как это делают нормальные пацаны
Ivan
05.06.2018
14:11:53
Stanislav
05.06.2018
14:11:55
Вот реально вызывать баш-скрипт на пару строк из .gitlab-ci.yml это импотенция
Шаблонизация и динамические переменные наше фсе
Ivan
05.06.2018
14:12:29
Stanislav
05.06.2018
14:12:57
No1
05.06.2018
14:13:01
only:
- tags
Stanislav
05.06.2018
14:13:54
.template:build: &template_build
script:
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
- docker pull $CI_REGISTRY_IMAGE/${IMG_NAME}:$BUILD_MARK || true
- >
docker build
—cache-from $CI_REGISTRY_IMAGE/${IMG_NAME}:$BUILD_MARK
-t $CI_REGISTRY_IMAGE/${IMG_NAME}:$BUILD_MARK
-f ${DOCKERFILE-./Dockerfile}
./
- docker push $CI_REGISTRY_IMAGE/${IMG_NAME-default}
Ivan
05.06.2018
14:15:51
Stanislav
05.06.2018
14:16:13
сам тег обычно из envinroment
export BUILD_MARK=$(if [[ ! -z $CI_BUILD_TAG ]];then echo $CI_BUILD_TAG;else echo $CI_BUILD_REF_SLUG;fi)
Google
Stanislav
05.06.2018
14:17:09
вот BUILD_MARK
Он в глобальном before_script:
Ivan
05.06.2018
14:18:55
Stanislav @DodgeCamaro @No1zzz в общем спасибо я примерно понял 2 главные вещи которые надо сделать - всё-таки разнести докерфайлы в разные проекты ибо упростит билд-пуш-тэг флоу и что надо избавлятся от баш скрипта в принципе
No1
05.06.2018
14:19:11
посмотрите в packer
Stanislav
05.06.2018
14:19:22
Он тут прям в тему как раз
Да и разносить вообще не обязательно
Ivan
05.06.2018
14:19:53
Stanislav
05.06.2018
14:19:59
Кейс с разносом я не особо понял, но вот тут к примеру можно подставлять переменную с докерфайлом, просто называй по разному на крайняк. -f ${DOCKERFILE-./Dockerfile}
Просто удобно когда все в одном проекте собирается
и настраивается сборка
Ivan
05.06.2018
14:21:37
Stanislav
05.06.2018
14:21:55
Централизованность более удобна
В рамках одного проекта
Ivan
05.06.2018
14:22:29
Stanislav
05.06.2018
14:22:51
- docker pull $CI_REGISTRY_IMAGE/${IMG_NAME}:$BUILD_MARK || true
docker build
—cache-from $CI_REGISTRY_IMAGE/${IMG_NAME}:
Google
Stanislav
05.06.2018
14:23:28
Главное грамотно пиши dockerfile
Ivan
05.06.2018
14:23:28
Stanislav
05.06.2018
14:25:27
Pull не забудь только
Admin
Stanislav
05.06.2018
14:25:30
без него не заработает
если билдишь в контейнерах
Ivan
05.06.2018
14:26:15
Stanislav Спасибо большое! Короче надо не тупить и в баш скрипт пробрасывать гиталобоские переменные, а нормально переписать всё в ci yaml, ну да и кэш не забыть
посмотрите в packer
Вот тут бы хотел поподробнее - в чём преимущество перед сборкой докерфайлами?
p.s. использовал его только для упаковки cloud images
Дмитрий
05.06.2018
14:31:40
значит у вас что-то не правильно настроено
Ivan
05.06.2018
14:33:43
Stanislav
05.06.2018
14:34:04
Дмитрий
05.06.2018
14:34:41
куда закрыт доступ?
в гитлабе права на реджистри определяются правами на проект.
не уверен нужно ли логиниться чтобы из под одного проекта выкачать контейнер из другого проекта, этого не пробовал
пуши раннером в тот же проект идут без авторизации
Ivan
05.06.2018
14:38:00
Дмитрий
05.06.2018
14:41:03
нет, реджистри там один, но пушить в registry.example.com/имя_проекта:latest может только тот, у кого есть права на проект имя_проекта.
Google
Дмитрий
05.06.2018
14:42:22
и по идее, если у того кто запускает папйлайн есть права и на другой проект, то из под раннера конетйнер со второго проекта будет качаться без авторизации
Stanislav
05.06.2018
14:45:22
denied: access forbidden
ERROR: Job failed: error executing remote command: command terminated with non-zero exit code: Error executing in Docker Container: 1
Дмитрий
05.06.2018
14:45:45
я сейчас тоже проверю)
Stanislav
05.06.2018
14:45:48
Более того, логин в докере это в официальной инструкции от гитлаба
Ivan
05.06.2018
14:47:30
Den
05.06.2018
14:47:58
Я что то мб не понимаю после отпуска. Но аруба хочет 20 евро за пустую виртуалку в месяц при тарифном плане в 1 евро ?
Stanislav
05.06.2018
14:48:00
я сейчас тоже проверю)
Возможно у вас собирается на железном воркере где уже залогинен docker с обычной учеткой
Ivan
05.06.2018
14:48:25
Дмитрий
05.06.2018
14:54:10
точно
Stanislav
05.06.2018
14:54:17
)))
Вот где магия зарыта)
saronite
05.06.2018
15:12:16