Email or username:

Password:

Forgot your password?
Moana Rijndael 🍍🍕

Обидно когда делаешь работу, упираешься в тупик, а потом узнаешь, что оказывается были другие варианты, возможно не такие тупиковые

13 comments
Бука

@mo с одной стороны - обидно, но с другой - ты отработала вариант и получила о нём информацию, а это тоже результат.

Moana Rijndael 🍍🍕

@b000ka да там блин обиднейший мелкий баг просто :(

...зато покопавшись в альтернативах я нашла целую одну (1) стоящую внимания

Moana Rijndael 🍍🍕

Одна тулза заменилась на другую настолько легко, что даже подозрительно

Заменить бинарник на другой, поменять флаги и...всё

Го мне не особо нравится как язык, но со стороны пользователя я просто обожаю софт на нём. Береш, и сразу запускаеш

Moana Rijndael 🍍🍕

А я уже было настроилась сношаца...а всё за полчаса неторопливого копания в документации...

Moana Rijndael 🍍🍕

Всё становится веселее

Мой код сходит в CI с ума, точно так же как первая тулза...

КАК :blobcatgooglyholdingitsheadinitshands:

Moana Rijndael 🍍🍕

Загадка Жака Фреско

Вы находитесь в контейнере, в директории /builds/author/repo

Ваш код делает Path.cwd().rglob("*.txt")

Вопрос: почему результатом выполнения являются txt файлы со всей rootfs???????????????????

fa11_1eaf

@mo а cwd точно возвращает эту папку?
Может, по какой-то причине скрипт считает, что его запускают из /?

Moana Rijndael 🍍🍕

@fa11_1eaf если вместо скрипта запустить в контейнере pwd, то он вернет то что надо...

fa11_1eaf

@mo а если тупо из скрипта запринтить cwd?

Moana Rijndael 🍍🍕

Поныла и сразу поняла куда копать

Короче, тут не загадка Жака Фреско, тут ловушка Джокера блт

Что написано в документации гитлаба:
Where scripts are executed
When a CI job runs in a Docker container, the before_script, script, and after_script commands run in the /builds/<project-path>/ directory. Your image may have a different default WORKDIR defined. To move to your WORKDIR, save the WORKDIR as an environment variable so you can reference it in the container during the job's runtime.

Ожидание: ну у docker run есть параметр --workdir, наверняка он просто его передаёт. Я так тестировала локально, всё норм
Реальность: каким-то неведомым образом, он задаёт этот параметр *только* для before/after/script. Если в вашем образе есть ENTRYPOINT, то его это не касается :blobcattableflip:

Поныла и сразу поняла куда копать

Короче, тут не загадка Жака Фреско, тут ловушка Джокера блт

Что написано в документации гитлаба:
Where scripts are executed
When a CI job runs in a Docker container, the before_script, script, and after_script commands run in the /builds/<project-path>/ directory. Your image may have a different default WORKDIR defined. To move to your WORKDIR, save the WORKDIR as an environment variable so you can reference it in the container during the job's runtime.

Moana Rijndael 🍍🍕

...то есть тулзу можно было и не заменять. Лол.

Moana Rijndael 🍍🍕

Плюсы: я теперь знаю чуть больше про гитлаб сиайсиди, подняла квалификацию на пару миллиметров
Минусы: АААААААААА ГИТЛАБ ЗАЧЕМ ТАК УПОРОЛСЯ

[DATA EXPUNGED]
Moana Rijndael 🍍🍕

@mnnwvn докер не виноват, что Gitlab его так упорото юзает

Go Up