
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 не забудь только
без него не заработает
если билдишь в контейнерах

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

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