George
либо делаешь как тебе говорят с субмодулями
Дурак из фильма
полное нечитабельное дерьмо
Вторый скобки только из-за дебага с ls -l
Navern
BashOps
Navern
написал сложный баш, не распарсил его и потом дебажишь
Navern
Откуда такая любовь к однострочникам?
Дурак из фильма
либо делаешь как тебе говорят с субмодулями
Да, пошёл уже разбираться, но хочется понять про магию телепортации всё же.
Igorь
в жопу магию, используй молоток!
George
написал сложный баш, не распарсил его и потом дебажишь
ну, он не сложный-сложный, но прям скаж, что логика без поллитра может быть неочевидна
Navern
ну, он не сложный-сложный, но прям скаж, что логика без поллитра может быть неочевидна
я не вникал даже. Просто подход странный сам по себе кажется
Дурак из фильма
в жопу магию, используй молоток!
Согласен, но механику магии тоже интересно понять, дабы меньше магии было в жизни =)
George
далее
George
у тебя A || X && Y
George
ес-но, что у тебя клеится как A && Y
Дурак из фильма
хм
Дурак из фильма
почему вдруг икс скипается?
Дурак из фильма
У меня какраз А ложное, и проиходит Х
George
я ошибся
George
наоборот
George
у тебя ошибка из-за ;
George
хотя тоже нет
George
в жопу магию
George
gaal@linux-x1:~> test -f /etc/ && echo a; echo b && echo end b end gaal@linux-x1:~> test -f /etc/ || echo a; echo b && echo end a b end gaal@linux-x1:~> test -d /etc/ || echo a; echo b && echo end b end gaal@linux-x1:~> test -d /etc/ && echo a; echo b && echo end a b end gaal@linux-x1:~> test -d /etc/ || echo a && echo b && echo end b end
Дурак из фильма
Она появилась там для дебага с ls -l, но магия с телепортацией в другой каталог была до этого. Судя по ошибке
George
gaal@linux-x1:~> test -d /etc/ || (echo a; echo b && echo end) gaal@linux-x1:~> gaal@linux-x1:~> gaal@linux-x1:~> gaal@linux-x1:~> test -f /etc/ || (echo a; echo b && echo end) a b end
George
короче скобки решают
George
отладки на пять минут
Дурак из фильма
Ща посмотрим, кобки то я добавил, но делаю ставку на то что телепортация останется =)
Дурак из фильма
чёрд... я проиграл.... офигеть...
Дурак из фильма
Мда. Плохо из меня башопс... Пойду добивать тему про сабмодули
Дурак из фильма
Опять эта шляпная ошибка 1/1: invalid mount config for type "bind": bind source path does not exist: /ho… Хотя в композе все вольюмы с $PWD вместо точки...
Дурак из фильма
Я понимаю что магическая телепортация происходила из того каталога куда я явно делал cd, в рабочий каталог раннера, куда он сам делает чекаут текущего репо. Но я не понимаю почему так происходит. Почему он прыгает между ними...
Дурак из фильма
И вообще, решать этот кейс похоже правильнее не через сабмодуль, а через триггер сиая того репо. Потмоу что вся эта магия происходит уже на стадии выката на сервак, а не на стадии билда проекта.
George
тебе каталог нужно создать руками
George
-v создает автоматически, а полный синтаксис бинд маунта - нет
George
не должно быть на продовых серверах шелл раннера
Дурак из фильма
Это почему?
George
Это почему?
потому что 42
Igorь
не должно быть на продовых серверах шелл раннера
Некоторые штуки без шелраннера не сделать
George
я ставлю, что все можно провернуть и удаленно
George
не обязательно оркестратором
Oleksandr
заменишь CD из Gitlab на что-то свое, так?
George
в гитлабе нет CD 😊 кроме как в куб - он же gitlab-ci называется, не так ли? 😊
Oleksandr
ну или просто другим раннером, не на проде который выполнишь команды например через ssh на проде
Igorь
1) выкатка на тест/дев/прод железозависимых прог. Та же CUDA. 2) docker service update не отработает внутри докер-контейнера CI. По умолчанию туда докер-сокет не монтируется по соображениям безопасности. Ну или я не доосвоил эту магию и решил сделать проще.
George
"2) docker service update не отработает внутри докер-контейнера CI. По умолчанию туда докер-сокет не монтируется по соображениям безопасности. Ну или я не доосвоил эту магию и решил сделать проще." эм... ссш, и уже там docker service update?
George
или можно сокет по сети пошарить, ну, если очень уж хочется
Oleksandr
вы увлеклись
George
повторюсь, что мой пойнт в чем - вообще раннера на прод сервере быть не должно
Oleksandr
@gecube почему на проде нельзя реннер запускать?
George
а тем более шелл раннера, в который можно вдуть что угодно
George
не только
George
раннер - это лишний сервис, ИБ и все такое
Oleksandr
давай без ИБ
Oleksandr
а то с ИБ сразуот сети надо отключаться и на дискетах промаркированных переносить информацию, записывая в журнал
Oleksandr
(бумажный)
Oleksandr
@gecube можешь поконкретнее почему нельзя гитлаб-раннер в проде? ну кроме "вдуть что угодно"
George
не нельзя, а скорее не стоит
Oleksandr
вот!
Igorь
(но если очень хочется, то можно)
George
при прочих равных - это бессмысленно. У нас был один раннер на 100+ хостов и этого хватало. Я бы чокнулся на каждый хост ставить свой шелл раннер
George
есть другая проблема - конкурентность раннеров, но это отдельная история
Igorь
Да и если есть с раннера доступ к оркестратору, то это даёт те же проблемы с безопасностью, что и просто шел-раннер. То есть в принципе ничего не меняется.
Дурак из фильма
примерно )
То есть Shell runner хуже ssh runnerа ??? А разьве это не те же яйца тольксо сбоку?
Дурак из фильма
ssh runner deprecated ведь
Так даже интереснее, выходит, что ssh через shell runner лучше чем просто shell runner... Ну типа пустая банка вкуснее, чем полная банка мёда =)
Igorь
Непонятно, зачем плодить сущности для одной и той же задачи
Navern
Так даже интереснее, выходит, что ssh через shell runner лучше чем просто shell runner... Ну типа пустая банка вкуснее, чем полная банка мёда =)
Так даже интереснее, выходит, что баш через ансибл, лучше чем просто ансибл...Ну типа пустая банка вкуснее, чем полная банка меда =)